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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dbqwaii 中级黑马   /  2013-3-10 13:27  /  1519 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请详细说明 谢谢 有些迷

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

2 个回复

倒序浏览
抽象方法是只有定义、没有实际方法体的函数,它只能在抽象函数中出现,并且在子类中必须重写;
虚方法则有自己的函数体,已经提供了函数实现,但是允许在子类中重写或覆盖。
重写的子类虚函数就是被覆盖了。
前几天有人问了这个问题了,,,,

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
一..抽象方法就是在声明方法时加上abstract关键字,要注意以下两点:
1. 抽象方法必须声明在抽象类中
2. 声明抽象方法时,不能使用virtual  static  private 修饰符
抽象方法声明引入了一个新方法,但不提供该方法的实现,由于抽象方法不提供方法的实现 ,因此抽象方法的方法体只能包含一个分号.
当从抽象类派生一个非抽象类时,需要在非抽象类中重写抽象方法,以提供方法的实现,重写抽象方法时使用override关键字.

二..虚方法  当类中的方法声明前加上了virtual修饰符时,我们称之为虚方法.
什么时候用虚方法?  若希望或预料到基类的这个方法在将来的派生类中会被重写时,则此方法必须声明为virtual.

override重写继承自基类的虚方法,可以理解为拆掉老房子,在原地址上建新房子,这样老房子再也找不到了(即基类中的虚方法永远调用 不到了).


评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马