C#学习笔记-11

47.抽象类与接口

(1)抽象类与接口的感性认识

        

(2)抽象类:为做基类而生的“抽象类”与“开闭原则”。

        抽象类的使用与类方法的重写有关,父类引用对象去调用子类的实例调用的是最新的同名方法。效果是一样的。但是在书写上有些区别。抽象类里面的虚方法是必须都要实现的。可以是在他的派生类里面都实现,可以是它的派生类的派生类里面实现。总之到最后虚方法都是要实现的。

        《1》完整情况下的基类(父类)的书写格式

                

         《2》抽象类:父类(基类)的书写格式

                

                 例子如下图:

                

 

(3)接口:方法访问级别必须是public(接口涉及到提供者以及访问者,这对双方必须是透明的,双方都是可以看见的。)

        《1》接口的书写格式(完整版)(简略版)

                   

              接口里面的虚方法是必须都要实现的。可以是在他的子类里面都实现,可以是它的派生类的派生类里面实现。总之到最后虚方法都是要实现的。

                如图是实例参考

                 

                 《2》接口的访问级别示意图

                

                 

 (4)弱依赖的优势以及书写格式

        

        

 (5)依赖翻转原则

        利用最少的代码去实满足更多的调用者的调用。

 ​​​​​​​        

(6)单元测试(测试代码的时候我们不能在源代码的基础上进行修改,因为源代码可能连接着不止一个,如果在源码上测试的话,很有可能导致其他代码报错。所以需要新建测试脚本,进行单独测试)

(7)接口隔离:根据方法的不同,可以适当的创建多个接口,每个接口的功能所包含的功能不同,这就使得我们在引入接口的时候,不至于接口的一些方法是无用的。

        接口的隔离实例:接口的显示实现

        

         

 (8)反射(.Net的功能),特性,依赖注入

        特性使用:通过反射,拿到一个方法或一个类有没有被unfinished特性修饰。然后在判断是否去调用它。

        《1》反射:以不变应万变(更松的耦合)

        《2》反射与接口的结合

        《3》反射与特性的结合

        《4》依赖注入:此ID非彼ID,但没有彼ID就没有此ID;

        优点:在优化代码,重新更改实例化等操作的时候,不需要一个一个去更改。

        

        ​​​​​​​

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值