本文是C#初学者简单教程,这是第12篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。
本文环境为Visual Studio 2019。
一、什么是抽象类
抽象类是对现实世界每一个对象的抽象化表述,通常仅定义它具有的特征、功能、关系,但不去做具体的实现,即为抽象类。本解释独家拥有,全网找没有。
二、抽象类的代码定义
在C#中,通过使用abstract关键字来定义一个类。由于抽象类是对现实世界对象的抽象化定义,没有具体实现,所以抽象类被设计为禁止实例化(即禁止new一个对象)。
三、抽象类的一些要求
比如当您定义了抽象类后,可能需要使用abstract关键字去定义一些方法或属性,或者使用virtual把方法虚拟化。但这不是必须的,可是您想定义一个抽象类,它的初衷就该如此。
四、抽象类的特征
1.禁止实例化。
2.类定义中理应有abstract或virtual方法,虽然这不是必须的,但您的初衷应该如此。
3.禁止使用sealed关键字,因为abstract和sealed的使用条件正好相反,是矛盾的。
4.所有继承自抽象类的子类,都必须实现abstract方法或属性,可以重写virtual方法。
5.抽象方法(abstract)只能用于抽象类中。
6.抽象方法本身就是隐式的虚方法(virtual),所以,不可以给同一个方法同时加上abstract和virtual关键字。
五、实现抽象类
使用冒号(:)即可让一个类继承或者实现抽象类。
六、举例子
我们以家庭常吃的鱼来举例子,请看下图:
解析:
1.称重,是一个抽象属性。
2.杀鱼,杀鱼的方法不同,有些可能要去骨,如酸菜鱼。
3.烹饪,应该会有一个烹饪方法,不同的鱼可能是不一样的做法。
4.罗非鱼,使用冒号,实现了抽象基类。然后罗非鱼实现了它的属性方法,比如罗非鱼买的时候是1斤3两,杀鱼方式不要去骨头,烹饪方法用煎。如果是草鱼,则我们需要去骨,然后用煮的方式。
祝您用餐愉快。