美文网首页
OOP多态和密封类

OOP多态和密封类

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

学习oop多态

1.方法重载

2.方法重写

3.里氏替换原则

方法重载:构造函数属于特殊的方法重载

方法重载是指同一个类中相同方法的不同行为

方法重载的特点:

1.方法名必须相同

2.参数列表必须不相同(这里的不相同是参数类型,参数个数,以及参数顺序)

3.在有相同参数列表的个数的前提下,方法返回值不作为判断方法是否重载的依据.

方法的重写:是指在继承关系中不同类之间方法之间的比较和研究

第一个关键字:vietual(虚)还有abstrac抽象方法的重写

用vietual修饰的方法称之为虚方法。

virtual一般情况下和override需要成对出现。

如果子类重写使用了override,则父类必须拥有virtual修饰的方法或则abstract的抽象方法

反过来不一定成立,因为我们还有方法覆盖

第二个关键字:override(重写)

为什么要使用方法重写呢?

1.使用虚方法其实就是对目前的程序不是很满意,暂时方法功能是实现的,希望后面的程序元通过重写父类方法的方式,进行功能上的优化。

2.可以通过继承系统提供的类,去修改系统类中提供的虚方法

方法重写需要注意的地方:

1.不能重写父类中用sealed修饰的方法

2.不能重写父类中用static修饰的方法

3.如果父类中存在abstact方法,子类必须重写

密封类:断子绝孙类

如果我们的类是密封类,那么就意味着不能有任何派生类.

但是密封类是可以拥有父类滴.

c#中密封类使用sealed关键字,sealed可以将类或者方法声明为密封类或则密封方法.

对于密封类来说,表示不能继承该类

对于密封方法来说,表示不能重写该方法

密封类不能使用protected(因为其没有派生类).

密封类不能使用virtual.(使用该方法必须有子类)

密封类的不可继承性,所以密封类不能声明为抽象的,即sealed关键字不能和abstract共同使用

如果用sealed修饰方法.必须要遵循一个条件:这个类必须有父类,并且重写了父类的某个虚方法才可以用sealed修饰,否则是绝对不行滴.

密封类的作用就是防止外界修改本类,破坏类的内部构造.

相关文章

  • OOP多态和密封类

    学习oop多态 1.方法重载 2.方法重写 3.里氏替换原则 方法重载:构造函数属于特殊的方法重载 方法重载是指同...

  • OOP(多态,重载,重写,虚方法,密封类)

    多态 学习OOp多态*1.方法重载*2.方法重写*3.里氏替换原则**方法重载:构造函数就属于特殊的方法重载*方...

  • 【Effective C++(7)】模板与泛型编程

    41 了解隐式接口和编译期多态 OOP总是通过显式接口和运行期多态解决问题,如函数doProcessing内的w类...

  • c++快速入门8:多态

    指向类 OOP的三个基石是封装、继承和多态性。 术语 "多态性"(来自希腊语polymorphism,意思是 "多...

  • Spring

    AOP Java提倡OOP,面向对象编程。OOP三大特性包括封装、继承和多态。当多个类需要相同的业务时,则创建1个...

  • PHP类,抽象类,接口,魔术常量和魔术方法学习笔记!

    oop面向对象编程的特点:封装、继承、多态! [修饰符] class 类名 [extends 父类] [imple...

  • 《C++ Primer Plus》:对象和类

    OOP特性: 抽象 封装和数据隐藏 多态 继承 代码的可重用性 类定义和实现 C++使用class关键字定义类: ...

  • 《C++ Primer Plus》第10章学习笔记

    对象和类 面向对象编程(OOP)是一种特殊的、设计程序的概念性方法。最重要的OOP特性:抽象封装和数据隐藏多态继承...

  • C++学习笔记一

    对象和类 面向对象编程(OOP)特性 抽象 封装和数据隐藏 多态 继承 代码的可重用性 访问控制 private,...

  • 接口与抽象类的区别

    OOP 中,核心是 封装、继承 和 多态,而在 继承 中,常常关联的是 接口 和 抽象类,经常用倒是不假,但是使用...

网友评论

      本文标题:OOP多态和密封类

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