2个回答
展开全部
在java上
覆盖···
就是说在父类中有一个函数M在子类中也有。但是在子类中的函数M的函数实体和父类的函数实体不同。
打个比方···
如果是父类是图像,那么在父类中的方法"画图"与子类三角形的方法"画图"肯定是不同的。因为父类可以是别的图形,而三角形只能是三角形。
这种父类有的函数子类也有但是实体不同的情况就是覆盖。
重载····
在很多情况下,一个函数是有参数的。
也就是说如果两个函数的名字相同,但是参数不同。那么这种情况就是重载。(不管函数体是不是一样的··)
这里参数不同是什么意思呢?
例如:没有参数,有参数,参数的个数,参数的类型,参数类型的排列顺序···这些如果不同的话都叫做参数不同。
但是参数名不同不是参数不同。
多态··· 是指 用同一类型来得到或者调用不同类型的的实体。
通常情况下是这样的。
我有一个父类F 这个父类F有很多子类,子类Z1,子类Z2。。。
这些子类都覆盖了父类的某个方法M
现在在某个函数要调用这些子类的方法M。但是我不知道到底是哪个子类。
因为这些方法实际上是不同的
所以如果没有多态的话。我就得去判断这个类到底是z1还是z2或者Z3等等···
而多态呢?
就是我在这个函数中直接将类型设置为父类F类型。同时这个方法也是父类里面的方法
事实上在运行的时候,如果你的实体是z1类型的,那么函数就会调用z1类里面的M而不是父类F里面的M或者其他,一次类推···
继承···
其实就是将一个大的类型范围变窄。这个小的类型是大类型的一部分。
例如"正三角形"这个类继承了"三角形"这个父类。
而"三角形"这个父类却又继承了它自己的父类"图形"
这种将特征具体化的情况就是继承。
封装····
就是说我将我的函数放在一个特定的类里面。
如果你没有权利,那么这个类是怎么实现的,还有哪些函数你是不知道的。而你能使用的这个函数是怎么实现的,你也是不知道的。
你只知道用这个函数有什么结果。那么将这种具体实现用类型隐藏起来的情况就是封装。
其实说封装封装···好像很神秘似的。
但是实际上也就是你自己写很多类而已。在主类(也就是含有main函数的公共类)使用的时候只是用各个类的实体调用这些函数。
那么接口就简单了···
给你使用的这个public类型的函数就是接口了。
当然在java里面还有另外一个东西交接口。interface····
这个是其实是一个类····但是里面的函数都是public的并且都没有实现。
需要你自己去实现。但是它实际上也是为了将public函数名统一而已。
这样别人能够使用这些函数,但是不知道这些函数的实现···
至于抽象···
就想你要写一个函数实现开灯。
那么这个实体"灯",你写成一个类型如light
在这个类里面你在实现一个函数opnLight,因为要外部调用的,需要设置成public
这样一来,这个light类就可以实现所有的灯的开灯这个动作了。
这种将由实体到类型的过程就是抽象。
覆盖···
就是说在父类中有一个函数M在子类中也有。但是在子类中的函数M的函数实体和父类的函数实体不同。
打个比方···
如果是父类是图像,那么在父类中的方法"画图"与子类三角形的方法"画图"肯定是不同的。因为父类可以是别的图形,而三角形只能是三角形。
这种父类有的函数子类也有但是实体不同的情况就是覆盖。
重载····
在很多情况下,一个函数是有参数的。
也就是说如果两个函数的名字相同,但是参数不同。那么这种情况就是重载。(不管函数体是不是一样的··)
这里参数不同是什么意思呢?
例如:没有参数,有参数,参数的个数,参数的类型,参数类型的排列顺序···这些如果不同的话都叫做参数不同。
但是参数名不同不是参数不同。
多态··· 是指 用同一类型来得到或者调用不同类型的的实体。
通常情况下是这样的。
我有一个父类F 这个父类F有很多子类,子类Z1,子类Z2。。。
这些子类都覆盖了父类的某个方法M
现在在某个函数要调用这些子类的方法M。但是我不知道到底是哪个子类。
因为这些方法实际上是不同的
所以如果没有多态的话。我就得去判断这个类到底是z1还是z2或者Z3等等···
而多态呢?
就是我在这个函数中直接将类型设置为父类F类型。同时这个方法也是父类里面的方法
事实上在运行的时候,如果你的实体是z1类型的,那么函数就会调用z1类里面的M而不是父类F里面的M或者其他,一次类推···
继承···
其实就是将一个大的类型范围变窄。这个小的类型是大类型的一部分。
例如"正三角形"这个类继承了"三角形"这个父类。
而"三角形"这个父类却又继承了它自己的父类"图形"
这种将特征具体化的情况就是继承。
封装····
就是说我将我的函数放在一个特定的类里面。
如果你没有权利,那么这个类是怎么实现的,还有哪些函数你是不知道的。而你能使用的这个函数是怎么实现的,你也是不知道的。
你只知道用这个函数有什么结果。那么将这种具体实现用类型隐藏起来的情况就是封装。
其实说封装封装···好像很神秘似的。
但是实际上也就是你自己写很多类而已。在主类(也就是含有main函数的公共类)使用的时候只是用各个类的实体调用这些函数。
那么接口就简单了···
给你使用的这个public类型的函数就是接口了。
当然在java里面还有另外一个东西交接口。interface····
这个是其实是一个类····但是里面的函数都是public的并且都没有实现。
需要你自己去实现。但是它实际上也是为了将public函数名统一而已。
这样别人能够使用这些函数,但是不知道这些函数的实现···
至于抽象···
就想你要写一个函数实现开灯。
那么这个实体"灯",你写成一个类型如light
在这个类里面你在实现一个函数opnLight,因为要外部调用的,需要设置成public
这样一来,这个light类就可以实现所有的灯的开灯这个动作了。
这种将由实体到类型的过程就是抽象。
2019-10-27
展开全部
重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。对于同一功能输入不同的情况
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
继承就是子类继承父类的特征和行为,使得子类对象或者说实例具有父类的实例
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
继承就是子类继承父类的特征和行为,使得子类对象或者说实例具有父类的实例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询