A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 忆梦追风 中级黑马   /  2014-8-21 21:15  /  1272 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近对多态好迷糊,不明白它的用法作用,谁能给说说啊

6 个回复

倒序浏览
保持一个模糊的概念,继续往后学,等用多了再回头看看就会发现很简单。
回复 使用道具 举报
技术难题无人回答?想快速赚黑马币?那么赶紧来“技术问答悬赏中心”吧!
http://bbs.itheima.com/forum-218-1.html
回复 使用道具 举报
多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数(Virtual Function) 实现的。
回复 使用道具 举报
淡定 慢慢学下去 会懂得
回复 使用道具 举报
从程序设计的角度而言,多态可以这样来实现(以java语言为例):

public interface Parent // 父类接口

{

public void simpleCall();

}

public class Child_A implements Parent

{

public void simpleCall()

{

//具体的实现细节;

}

}

public class Child_B implements Parent

{

public void simpleCall()

{

//具体的实现细节;

}

}

//当然还可以有其他的实现

然后,我们就可以看到多态所展示的特性了:

Parent pa = new Child_A();

pa.simpleCall()则显然是调用Child_A的方法;

Parent pa = new Child_B();

pa.simpleCall()则是在调用Child_B的方法。所以,我们对于抽象的父类或者接口给出了我们的具体实现后,pa 可以完全不用管实现的细节,只访问我们定义的方法,就可以了。事实上,这就是多态所起的作用,可以实现控制反转这在大量的J2EE轻量级框架中被用到,比如Spring的依赖注射机制。
回复 使用道具 举报
轩辕苍穹 发表于 2014-8-22 12:31
从程序设计的角度而言,多态可以这样来实现(以java语言为例):

public interface Parent // 父类接口

好的,谢谢,我好好看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马