【C#】虚方法与抽象方法
来源:互联网 发布:Linux 使用gzip压缩 编辑:程序博客网 时间:2024/06/05 17:20
多态:是指两个或多个属于不同类的对象,对同一消息作出不同响应的能力。
例如:对同一个方法“叫声”,猫的叫声是“喵”,狗的叫声是“汪”,牛的叫声是“哞”。
虚方法与抽象方法都可实现多态。
虚方法:
当方法中添加了virtual修饰符,我们将其称之为虚方法,虚方法就是可以被子类重写的方法,如果子类重写了虚方法,那么运行时将使用重写后的逻辑,如果没有重写,则使用父类中虚方法的逻辑。方法可以用Overried重写,方法名必须一致,要有方法体,除了密封类都可以写。不可用Private修饰此方法。
Public virtual void Student() //声明虚方法
Public overried void Student() //重写虚方法
当方法中添加了abstract修饰符,我们将其称之为抽象方法,抽象方法就是必须被子类重写的方法,其实抽象方法可以看成是没有实现体的虚方法。如果类中包含抽象方法,那么类就必须定义为抽象类。抽象方法可以用Overried重写,方法名必须一致。
Public abstract void Student() //声明抽象方法
Public overried void Student() //重写抽象方法
总结:
1、虚方法必须有实现部分,抽象方法没有提供实现部分;
2、虚方法可以重写,也可以不重写;抽象方法必须重写,只能写在抽象方法中,不允许有方法体,必须被子类重写;
3、抽象方法只能在抽象类中声明,虚方法不是,除了私有类型都可以声明。其实如果类包含抽象方法,那么该类也是抽象的,也必须声明为抽象的。
0 0
- 【C#】虚方法与抽象方法
- c#:抽象方法与虚方法之区别
- C#:虚方法与抽象方法之区别
- 抽象方法与虚方法
- 虚方法与抽象方法
- C#.Net多态 之 抽象类、虚方法 与 接口
- 抽象方法与虚方法的区别
- 虚方法与抽象方法之区别
- 虚方法与抽象方法的区别
- C# 虚方法与抽象方法区别
- 抽象方法与虚方法的区别
- 虚方法与抽象方法的区别
- 抽象类和接口 与 抽象方法和虚方法
- 抽象类与抽象方法
- 抽象类与抽象方法
- 抽象类与抽象方法
- 抽象类与抽象方法
- 抽象类与抽象方法
- QT 渐变
- MyBatis自动创建代码工具
- Laravel实现dingo+JWT api接口之配置篇
- 大数据问题集锦之storm
- 时间格式化时不同参数的输出结果
- 【C#】虚方法与抽象方法
- 系统升级到iOS10,Xcode升级到8,之后手机不能测试的问题
- ambari删除脚本 重新安装
- Fresco无法显示,显示一条线
- Ubuntu nfs tftp samba
- Qt5.4连接mysql出现QSqlDatabase: QMYSQL driver not loaded
- web移动端:touchmove实现局部滚动
- Linux部署tomcat发布网站
- Spring学习笔记(10.Spring Bean装配之Bean的定义域及注解实现)