C#初学者教程系列12:抽象类
绅士 2020-11-27 09:14:43

本文是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关键字。

五、实现抽象类

使用冒号(:)即可让一个类继承或者实现抽象类。

六、举例子

我们以家庭常吃的鱼来举例子,请看下图:

C#初学者教程系列12:抽象类


C#初学者教程系列12:抽象类


解析:

1.称重,是一个抽象属性。

2.杀鱼,杀鱼的方法不同,有些可能要去骨,如酸菜鱼。

3.烹饪,应该会有一个烹饪方法,不同的鱼可能是不一样的做法。

4.罗非鱼,使用冒号,实现了抽象基类。然后罗非鱼实现了它的属性方法,比如罗非鱼买的时候是1斤3两,杀鱼方式不要去骨头,烹饪方法用煎。如果是草鱼,则我们需要去骨,然后用煮的方式。

祝您用餐愉快。
版权声明
本文为[绅士]所创,转载请带上原文链接,感谢
https://www.seoxiehui.cn/article-267838-1.html
相似文章

2021-08-09