继承,多态

继承:
访问修饰符 class 类名 :类名

一个类只能有一个父类

子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。

特点:在继承关系中,父类更通用、子类更具体。父类具有更一般的特征和行为,而子类除了具有父类的特征和行为,还具有一些自己特殊的特征和行为。

多态:
类的多种形态

  如何实现多态?

一般做法是:写一个方法,它只接收父类作为参数,编写的代码只与父类打交道。调用这个方法时,实例化不同的子类对象(new 一个对象)。

更具体的说:

(1)、子类重写父类的方法。使子类具有不同的方法实现。

(2)、把父类类型作为参数类型,该父类及其子类对象作为参数转入。

(3)、运行时,根据实际创建的对象类型动态决定使用那个方法。

父类存在虚方法 virtual
子类重写 override

访问修饰符:
public 公共的,只要引用了命名空间就能用
访问级别最高

(1)基类的public和protected成员的访问属性在派生类中保持不变,在派生类中基类的private成员不可访问。

(2)派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

(3)通过派生类的对象只能访问基类的public成员。


private 私有的,只能在类的内部进行访问
访问级别最低

当类的继承方式为私有继承时,符合以下规则:

(1)基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可访问。

(2)派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

(3)通过派生类的对象不能访问基类中的任何成员。

internal 默认的,同一个命名空间下可以访问
访问级别次最高

保护继承的特点是除基类的私有成员将继续为派生类的私有成员外,基类中的公有成员和保护成员将成为派生类的保护成员。当类的继承方式为保护继承时,符合以下规则:

(1)基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可访问。

(2)派生类中的成员函数可以直接访问基类中的public和protected成员,但不能访问基类的private成员。

(3)通过派生类的对象不能访问基类中的任何成员


protected 被保护的,类的内部及它的子类中才可以访问
访问级别次最低

抽象类

     一个类可以有多个纯虚函数,包含有纯虚函数的类称为抽象类。抽象类的作用是通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态特性。

     一个抽象类只能作为基类来派生子类。对于抽象类来说,不能说明抽象类的对象,但可以定义一个指向它的指针。这样,就可以间接处理抽象类,或通过该指针调用其派生类中的虚函数。

抽象类和接口都不能被实例化对象。

原文地址:https://www.cnblogs.com/niez1/p/7098865.html