当前位置: 代码迷 >> Java Web开发 >> 基础问题
  详细解决方案

基础问题

热度:288   发布时间:2010-10-27 20:59:37.0
基础问题
请教类中的多态是怎样的一个概念??
搜索更多相关主题的帖子: 基础  

----------------解决方案--------------------------------------------------------
多态就是一个物体有多种形态存在。。

比如说:那是一个人,那么是指小孩,女人,男人还是老人呢;这就是说这些人是人的几种存在形态
----------------解决方案--------------------------------------------------------
不要钻概念里不出来
很多概念都是炒出来的
多敲代码

----------------解决方案--------------------------------------------------------
回复 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还没有讲到多态性,但是我观察了这两个例子,我想说出我对多态性的看法,请高手为我点评下,就拿这个求面积的函数来说吧,给定一个函数,我们可以用这个函数求出多个图形的面积,而不仅仅局限与一个图形,多个图形求面积时,都共享这个函数,不知道我这两理解是不是正确,仅仅是我个人理解....请指教!!谢谢
----------------解决方案--------------------------------------------------------
多态,就是重载和重写.重载发生在一个类中.重写发生在子类,意思就是子类重写父类相同名称的方法.刚学语言有的东西,不必搞得那么清楚,只有知道怎么用就行了,有的问题你要想真正把它搞得很懂,短时间是不可能的,比如说接口,没有几年工作经验你根本不可能真正理解什么是接口,甚至有的人工作四,五年也没搞明白什么是接口,不要花太多时间去搞这些不容易搞懂的问题.
重载的特性,方法名相同.返回类型,传入方法的参数不同(包括个数和类型).
重写的特性,方法名相同,返回类型,参数均相同,必须发生在子类.
----------------解决方案--------------------------------------------------------
好深奥
----------------解决方案--------------------------------------------------------
  相关解决方案