基础问题
请教类中的多态是怎样的一个概念?? 搜索更多相关主题的帖子:
基础
----------------解决方案--------------------------------------------------------
多态就是一个物体有多种形态存在。。
比如说:那是一个人,那么是指小孩,女人,男人还是老人呢;这就是说这些人是人的几种存在形态
----------------解决方案--------------------------------------------------------
不要钻概念里不出来
很多概念都是炒出来的
多敲代码
----------------解决方案--------------------------------------------------------
回复 3楼 maxliz
可是代码很难了解啊?? ----------------解决方案--------------------------------------------------------
所谓多态性说简单点就是不同对象对同一方法的不同实现,举个简单的例子:定义了移动move()这个方法,在people这个对象里实现就用"走",在bird这个对象里实现就是"飞",在fish对象里实现就是"游"了。这个例子稍微有点抽象,再举个具体点的例子,
定义一个求几何图形面积的方法:
float area(){return 0.0f;}。//注意,这里并没有具体实现,只是返回0因为还没有确定是 //几何图形里的什么图形。还无法求面积。
求圆面积时你就可以定义:
float area(){ return 3.1415926f*R*R; };
求长方形面积时就定义:
float area(){ return W*H;}
如果你是概念没理解透,我想通过这两个例子你应该理解了。
----------------解决方案--------------------------------------------------------
所谓多态性说简单点就是不同对象对同一方法的不同实现,举个简单的例子:定义了移动move()这个方法,在people这个对象里实现就用"走",在bird这个对象里实现就是"飞",在fish对象里实现就是"游"了。这就是move()方法在不同对象里的不同实现。这个例子稍微有点抽象,再举个具体点的例子,
定义一个求几何图形面积的方法:
float area(){return 0.0f;}。//注意,这里并没有具体实现,只是返回0因为还没有确定
//几何图形的具体形状,还无法求面积
求圆面积时你就可以定义:
float area(){ return 3.1415926f*R*R; };
求长方形面积时就定义:
float area(){ return W*H;}
如果你是概念没理解透,我想通过这两个例子你应该理解了。
----------------解决方案--------------------------------------------------------
就算要了解概念也得从代码出发,不然也是事倍功半。
----------------解决方案--------------------------------------------------------
回复 6楼 funword
我是刚学JAVA还没有讲到多态性,但是我观察了这两个例子,我想说出我对多态性的看法,请高手为我点评下,就拿这个求面积的函数来说吧,给定一个函数,我们可以用这个函数求出多个图形的面积,而不仅仅局限与一个图形,多个图形求面积时,都共享这个函数,不知道我这两理解是不是正确,仅仅是我个人理解....请指教!!谢谢 ----------------解决方案--------------------------------------------------------
多态,就是重载和重写.重载发生在一个类中.重写发生在子类,意思就是子类重写父类相同名称的方法.刚学语言有的东西,不必搞得那么清楚,只有知道怎么用就行了,有的问题你要想真正把它搞得很懂,短时间是不可能的,比如说接口,没有几年工作经验你根本不可能真正理解什么是接口,甚至有的人工作四,五年也没搞明白什么是接口,不要花太多时间去搞这些不容易搞懂的问题.
重载的特性,方法名相同.返回类型,传入方法的参数不同(包括个数和类型).
重写的特性,方法名相同,返回类型,参数均相同,必须发生在子类.
----------------解决方案--------------------------------------------------------
好深奥
----------------解决方案--------------------------------------------------------