`
yangyou230
  • 浏览: 1647884 次
文章分类
社区版块
存档分类

多态的理解

 
阅读更多

多态对于基础不太好的同学不太好理解,下面谈谈我对它的认识。它和继承是相对的,继承是子类调用父类,多态则是父类使用子类。在继承中子类可以使用父类中公有的方法和属性等,而在多态中,简单的说,建立一个父类的对象,它的内容可以是这个父类的,也可以是它的子类的,当子类拥有和父类同样的函数,当使用这个对象调用这个函数的时候,定义这个对象的类(也就是父类)里的同名函数将被调用,当在父类里的这个函数前加virtual关键字或父类为一个接口,那么子类的同名函数将被调用。


下边是一段C#代码来解释多态




在上面的代码中我们使用父类videoShow实例化了一个对象vw,在下面我们使用父类的对象调用了子类中的方法PlayVideo。

由多态我们还引出了向上转型和向下转型的概念:

向下转型:父类不一定能转成子类类型

向上转型:子类一定能转成父类类型


举一个形象的例子就是:

多态: java程序员包括j2se的,J2ee的,j2me的。

向上转型: j2ee的 转成 java程序员

向下转型: java程序员 转成 j2ee的




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics