今天是: 2025-09-19    美好的一天,从现在开始

技巧网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问移动社区

搜索
热搜: PLC 视觉 活动
查看: 4|回复: 0

[C#编程] C#编程继承多态与接口多态之抽象类与抽象方法

[复制链接]

  离线 

TA的专栏

累计签到:315 天
连续签到:5 天

85

主题

5

回帖

336万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3361356
发表于 5 小时前 | 显示全部楼层 |阅读模式
三、抽象类与抽象方法
1.父类与子类的相互转换
代码改进:给 Cat 和 和 Dog 分别添加 Have(吃饭)方法


C#编程继承多态与接口多态之抽象类与抽象方法

C#编程继承多态与接口多态之抽象类与抽象方法

实现父类子类转化


C#编程继承多态与接口多态之抽象类与抽象方法

C#编程继承多态与接口多态之抽象类与抽象方法

[1]当有多个子类,并将这些子类放到一个集合中时,这些子类的数据类型会自动变为父类类型。
[2]所以在使用 foreach 时,()里集合中的类型是父类类型,在遍历时要判断集合中是哪个子类并强制转换。
[3]若使用抽象类和抽象方法,就不用强制转换,系统虚拟机会自动识别。

2.抽象类与抽象方法
抽象类的定义与方法声明规范


C#编程继承多态与接口多态之抽象类与抽象方法

C#编程继承多态与接口多态之抽象类与抽象方法

使用“继承多态”机制解决扩展问题


C#编程继承多态与接口多态之抽象类与抽象方法

C#编程继承多态与接口多态之抽象类与抽象方法

抽象类的概念和使用要点
[1]使用关键字“abstract”修饰的类,称为抽象类。
[2]抽象类只是用来列举一个类所具有的行为,不能单独通过创建对象来使用。
[3]
Animal animal=new Animal();是错误的。
[4]抽象类中可以有抽象方法,也可以没有任何抽象方法。
[5]
抽象类不能是静态的(static )或密封的(sealed)。

抽象方法的概念和使用要点
[1]在抽象类中使用“ abstract ” 修饰的方法,称为抽象方法。
[2]抽象方法必须在抽象中定义,不能在普通类中使用。
[3]抽象方法只是一个方法的声明,不能有任何方法体。
[4]抽象方法仅仅表示一个应该具有的行为,具体实现由其子类实现。
[5]
抽象方法在子类中被实现(重写)必须使用关键字 override
[6]
子类必须重写父类的所有抽象方法,除非子类本身也是抽象类。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
QQ在线咨询
售前咨询热线
暂无
售后咨询热线
暂无
快速回复 返回顶部 返回列表