继承:
访问修饰符 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 被保护的,类的内部及它的子类中才可以访问
访问级别次最低
抽象类
一个类可以有多个纯虚函数,包含有纯虚函数的类称为抽象类。抽象类的作用是通过它为一个类族建立一个公共的接口,使它们能够更有效地发挥多态特性。
一个抽象类只能作为基类来派生子类。对于抽象类来说,不能说明抽象类的对象,但可以定义一个指向它的指针。这样,就可以间接处理抽象类,或通过该指针调用其派生类中的虚函数。
抽象类和接口都不能被实例化对象。