C#学习笔记——抽象类 开闭原则 接口

开闭原则

如果不是为了修bug或者添加新的功能的话 一般没事干不要老去动代码

抽象类(专作为基类而生)

使用abstract修饰 此时这个类叫做抽象类
(不能是private 必须是可被子类看见的访问级别)
不能被实例化
类中实现了一部分则成为抽象类
(未实现等待子类重写的方法叫做虚方法 需要用abstract修饰)
(实现抽象方法的时候也要用override修饰)

抽象类是未完全实现 接口是完全未实现
抽象类中的成员只要求不是private 但是接口中的成员强制要求是public

接口

一个抽象类中所有成员都是抽象的,都没有实现称为接口
如果一个类为接口的话 不再使用abstract修饰 而是使用interface 此时要求类中的所有成员都是public 因为接口本身所有成员皆为抽象 所以abstract也不用写
接口的子类完善方法时不用写override 此时如果仍然要留有一部分成员交给子类完成那么仍然使用abstract修饰
此时这个子类也用abstract修饰 作为抽象类
接口的命名规则 I+Name

接口是一种契约
要求其子类都具有那些功能(可能实现方法不一样但是都有这样的功能或遵循这样的规则)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值