【C#】面向对象多态03--抽象方法重写

文章详细介绍了抽象类的概念,作用以及何时使用,强调了抽象类不能实例化但可以被继承。同时阐述了抽象方法的定义、用途和重写规则,指出子类必须实现抽象父类的所有抽象方法。内容涵盖了抽象类和抽象方法的关键特性及其在面向对象编程中的应用。
摘要由CSDN通过智能技术生成

抽象类

一、什么是抽象类?

答:用abstract修饰的类为抽象类

二、抽象类有什么用?

答:可对多个类进行统一的管理,作为概念父类,不具体实现,相当于类的模板

三、什么时候适合用抽象类?

答:希望表示一个抽象概念,不希望创建对象、行为(方法,函数)不需要具体实现时,或对类进行管理。即将类再次分类

四、用C#实现抽象类

a : 用abstract修饰为抽象类

b : 抽象类可以被继承

c :抽象类不能创建对象,明显已经报错了

d : 抽象类可以创建数组,但数组元素不能是抽象类

另外:抽象类的子类还可以是抽象类,只要是抽象类都不能具体实现(不能new)

五、抽象类的特点

1.不能创建对象,但可以被继承

2.类中可以没有成员,也可以有抽象成员(抽象方法)

抽象方法

一、什么是抽象方法?

答:在抽象类中用abstract修饰且没实现、只有声明的方法,方法的实现由子类负责(方法重写)

二、抽象方法有什么用?

答:表示一个多个对象的共有行为,提取共性,作为一个模板,为子类提供方法重写,在设计与分析项目时,可以有效构建一个基本框架

三、抽象方法重写的构成

在抽象类中定义被abstract修饰的抽象方法,并在该抽象类的子类中重写该抽象方法(必须用override修饰,且不能私有化)

四、用C#实现抽象方法重写

a :用abstract修饰的抽象方法

b:在子类中重写,并用override修饰

c:多重继承后,可以再次重写

d:抽象方法重写后,创建对象并调用

注意:定义抽象方法后,子类必须具体实现所有抽象类中的抽象方法

子类实现的方法不能是虚方法,但抽象方法重写可以再次被重写(相当于虚方法的作用)

当子类也是抽象类时,可以不用实现父类的抽象方法

五、抽象方法的特点

  1. 子类(抽象类除外)必须实现抽象父类的所有方法

  1. 抽象方法必须放在抽象类或接口中(接口后面讲)

六、总结

抽象方法是一个行为的抽象,只关注本身概念即能存在什么,不关注行为实现、不描述做什么,不描述怎么做,及不描述具体数值,抽象方法分两个部分,一个是定义端,一个是实现端,当有子类需要不同实现的行为(方法)时,不建议使用抽象方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值