面向对象 继承 抽象接口
子类继承父类,通过在类后面加冒号来继承某个类
一旦形成继承关系后,子类的对象就能够使用父类中的公共属性和方法函数
子类能够转换成父类,但父类不一定能够转成子类
只有当父类对象是由某个子类对象转换来的时候,才能再把父类对象转换回去,
从哪个子类来的,就只能再转回那个子类去
直接通过父类的构造函数构建的对象, 不能转换为子类对象
当子类中重写了跟父类同名同参数的方法之后,
通过哪个类的对象点出来的方法,对应就是那个类里面的方法内容
重写的方法,如果在父类中加virtual 在子类中加override之后,
当从子类对象转换为父类类型的对象之后,通过父类对象调用的就是子类的方法
抽象类:类名class前面加abstract
抽象类不能创建对象(实例),只能用作继承关系中的父类
其他用法和普通的类的继承用法相同
抽象方法:
只能写在抽象类当中
必须在子类当中通过override进行重写覆盖来实现方法内容
如果不实现,那么就默认这个子类也变成了一个抽象类,
必须再在其他地方去继承实现它才可以。
抽象属性,注意说的是属性,不是字段。
同抽象一样,需要去重写一下。
接口:
一个类只能继承一个父类,但一个类可以继承多个接口
接口不能创建自己的实例,接口中不能写字段、属性
接口里的方法不能有方法内容,必须要在子类里面去实现,
实现的时候要通过接口的名字点出方法来实现