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

© V_John 中级黑马   /  2013-10-31 19:51  /  1934 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 V_John 于 2013-11-1 21:53 编辑

虽然有时候能搞懂这些东西,但是一不留神,就又忘了,大牛们再给个加深印象的解说吧!感激不禁。
不要代码哦,通俗易懂点。谢谢咯!

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

6 个回复

倒序浏览
抽象方法
父类的方法为抽象方法时,父类必须为抽象类。抽象方法没有方法体。
如果含有抽象方法,父类也必须为抽象类。
子类必须是重写override 父类抽象方法。
不能实例化抽象方法。

虚方法
如果对于子类,有些子类需要实现,有些不需要实现,那么可以用虚方法。
如果不想让类成为抽象方法,那么可以把方法声明为虚函数virtual(父类)。来实现方法重写(子类),直接实现
虚方法需要方法体。

接口和类有什么异同
不同:
不能直接实例化接口
接口不包含方法的实现。
接口可以多继承,类只能单继承。
类定义可在不同的源文件中进行拆分。
相同
接口、类、结构都可以从多个接口继承。
接口类似于抽象类:集成接口的任何飞抽象类型都必须实现接口的所有成员。
接口和类都可以包含事件、索引器、方法和属性。

继承
子类拥有父类的属性,方法等等。
一旦程序员的保证不靠谱,照样报错。
Object类是所有类的基类。

以上表现说明它具有多态形式。

评分

参与人数 1技术分 +2 收起 理由
追溯客 + 2

查看全部评分

回复 使用道具 举报 1 0
       我来个抽象方法吧。比如手你得到一本葵花宝典(父类)。欲练此功必先自宫这个是必须的。但是这个方法却没说你该如何去做这个拯救世界的事情,你可以用小刀,大刀菜刀,斧子,锤子砸都随你,所以你继承了葵花宝典的精髓,但是不限制你怎么做,这就是抽象方法。
   如果说这本书定死了让你用锤子砸,而且告诉了你具体方法。 你自己嫌不爽快非要用斧子砍,都能达到一样的目的,这就是虚方法。
     接口吧。。。额。。。 比如你切的时候有点不爽,为啥不爽呢,毕竟就一次,十八般武器都需要来试一遍,所以你就需要额外的去找个路子把各种武器弄过来,而且还和葵花宝典介绍的不冲突哟!让你各种爽哦。
      
   

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
LS回答要逆天{:soso_e127:}
回复 使用道具 举报
实现多态的三种方法:虚方法、抽象类、多态
如果父类中的方法有默认的实现,并且父类需要被实例化,这时可以考虑将父类定义成一个普通类,
虚方法来实现多态。
如果父类中的方法没有默认实现,父类也不需要被实例化,则可以将该类定义为抽象类。
接口为了实现子类的某一种功能

评分

参与人数 1技术分 +1 收起 理由
追溯客 + 1

查看全部评分

回复 使用道具 举报
有你珍贵 发表于 2013-10-31 20:12
我来个抽象方法吧。比如手你得到一本葵花宝典(父类)。欲练此功必先自宫这个是必须的。但是这个方 ...

额。。。形象,生动,拟人。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马