定义一个抽象类printable_C#初学者教程系列12:抽象类

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

五、实现抽象类

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

六、举例子

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

60a887f7707cf2936dc0d458391ed265.png
9114175c3f2d72013161725d980a161d.gif

解析:

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

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

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

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

祝您用餐愉快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值