美文网首页
里氏替换原则 接口 抽象类型与虚方法

里氏替换原则 接口 抽象类型与虚方法

作者: 本来想取long但是有人用了 | 来源:发表于2016-12-09 21:24 被阅读0次

1.虚方法必须有实现部分,并且为派生类提供了重写该方法的选项.

public virtual void Say();   //错误

2.抽象方法没有实现部分,并且抽象方法的派生是一种强迫性的.

继承抽象类就必须实现抽象方法,这与我们virtual是不同的.

3.抽象方法只能在抽象类中进行声明.抽象方法必须在派生类重写.

含有抽象的方法必然是抽象类.也就是说必须强制声明为abstract,

系统不会自动为我们添加.

4.抽象方法必须在派生类重写,这一点和interface类似,虚方法不必.

虚方法和抽象方法的联系:

1.无论是虚方法或者抽象方法,重写必须使用override关键字

抽象类:

在程序中使用关键字abstract

如果说正常类是一个完整的类的话,抽象类实际上是一个不完整的类.

抽象类的特点:

1.如果类中存在抽象方法,那么该方法不可以有实现部分.只能是方法声明.

2.含有抽象方法的类一定是抽象类.

3.抽象类不一定含有抽象方法.

4.如果子类的父类为抽象类并且含有抽象方法的话,子类必须实现重写该抽象方法.

5.virtual和abstract不能使用private修饰符,要使用public修饰符.

6.virtual不能和abstract放在一起用.

7.抽象类不能被实例化.

8.抽象类可以包含静态成员.

抽象类的作用:父类约束子类行为.

接口:接口就是公共契约.

接口的关键字:interface

接口和类属于同级关系,都属于c#中的编程单位.

接口也被称作纯洁的抽象类

接口特点:

1.不能有字段

2.接口内不能有修饰符

3.接口中不能有方法体(方法实现)

4.接口同样不可以被直接实例化

5.接口里面成员总是公共的

6.接口中可以有属性,但是不能有修饰符

7.接口中可以有索引器/事件声明

8.接口中声明的方法,子类实现的时候虽然也用override关键字,但是记住不属于重写.这里不能把

override显示的声明出来.

开发准则:尽量多用接口.

能用接口的不用抽象类,能用抽象类不用虚方法.

动态多态性.

LSP:

*原则上来讲子类对象介意赋给父类对象,也可以说子类替换父类,并且出在父类能够出现

的任何地方.

反过来说,父类对象是不能替换子类对象的,这种特性称为李氏替换原则:

1.子类可以隐式的转换为父类

2.父类必须强转子类

is && as

is :相当于判断. A is B A是不是B或者A是不是B的子类?

as :先判断,在转换.

(它比传统的强制装换要相对来说安全一点,因为传统的强制转换

*一旦转换失败的话程序就崩溃了.那使用as关键字可以保证,程序一样执行,只不过

*转换不成功,就赋一个空类型.)

����xy�%�

相关文章

  • 里氏替换原则 接口 抽象类型与虚方法

    1.虚方法必须有实现部分,并且为派生类提供了重写该方法的选项. publicvirtualvoidSay();//...

  • 2020-03-09 7种设计原则

    单一原则 接口隔离原则 依赖倒转原则接口! 抽象类!抽象和细节1. 接口2. 构造函数3. setter 里氏替换...

  • 设计原则

    里氏代换原则 依赖倒转原则:依赖于抽象耦合。 细节依赖于抽象,面向接口编程即使用接口或抽象类,进行变量类型、方法参...

  • 动态多态性,代码设计结构

    *里氏替换原则实现方法:子类可以出现在任何父类 * * 动态多动性: * 1.虚方法的多态 * 2.抽象方法的多态...

  • 图灵目录

    设计原则开闭、单一职责及里氏替换原则依赖倒置、接口隔离、合成复用原则迪米特法则 创建型模式工厂方法、抽象工厂及单例...

  • 协变与逆变

    协变:用窄类型替代宽类型,如子类代替父类,符合里氏替换原则 逆变:用宽类型替代窄类型,与里氏替换相反,所以叫“逆”...

  • 面向对象设计五个基本原则

    单一职责原则、开闭原则、接口隔离原则、里氏替换原则和依赖倒置原则。

  • 1、面向对象的六大原则

    基于《Android源码设计模式解析与实战》 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪...

  • 抽象抽象再抽象

    抽象 继承 单一原则 面向扩展开放,面向修改关闭 控制反转,依赖注入 里氏替换原则 单一职责原则开放封闭原则里氏替...

  • 面向对象六大原则

    单一职责原则开闭原则里氏替换原则依赖倒置原则接口隔离原则迪米特原则

网友评论

      本文标题:里氏替换原则 接口 抽象类型与虚方法

      本文链接:https://www.haomeiwen.com/subject/jkdymttx.html