标签:
子类继承父类,通过在类后面加冒号来继承某个类A:B。
继承的作用:一旦形成继承关系后,子类的对象就能够使用父类中的公共属性和方法函数
㈠继承关系中的方法重写、虚(抽象)方法、虚(抽象)属性
⒈重写:
当子类中重写了跟父类同名同参数的方法之后,子类创建对象后,调用的是该子类里面的同名方法。
⒉父类变量与子类变量之间转换的规则:
⑴可以定义一个父类变量,用来存储子类对象(若有函数重写,存储了子类对象的父类变量调用方法时仍访问父类的同名方法,无法调用原先子类重写的方法以及特有的方法);
⑵父类变量里存储的子类对象不能够转成任意的子类变量,只能转换成原先的子类变量类型;
⑶直接通过父类的构造函数构建的对象, 不能存储在子类变量里。
⒊虚方法
抽象类:类名class前面加abstract
抽象类不能创建对象(实例),只能用作继承关系中的父类
其他用法和普通的类的继承用法相同抽象方法
虚方法:只能写在抽象类当中
必须在子类当中通过override进行重写覆盖来实现方法内容
如果不实现,那么就默认这个子类也变成了一个抽象类,
必须再在其他地方去继承实现它才可以。
虚方法的作用:如果在父类中与子类的同名方法前面加virtual, 在子类中同名方法前面的加override之后,当把子类对象存入父类类型的变量之后,通过父类变量调用的同名方法是子类的方法,实现了对父类同名方法的覆盖。
子类的方法可以与父类的方法构成重载(很少用)。
4.抽象属性:
同抽象方法一样,需要重写。
如果没有字段,属性自己也可以默认自己是字段,赋值和取值(看来,属性可以脱离字段,独当一面)。
㈡接口:
怎样添加一个接口?
添加->类->接口
一个类只能继承一个父类,但一个类可以继承多个接口
接口不能创建自己的实例,接口中不能写字段、属性
接口里的方法怎样实现?
接口里的方法不能有内容,必须要在子类里面的方法里写上内容;
定义一个接口类型的变量,存储一个子类对象;
通过该接口类型的变量,调用接口方法。
类型转换:
子类的实例可以放在转换为接口类型的变量里;
存于接口变量的子类实例可以强制转换回原先的子类类型(无法调用接口方法);
如果该类继承多个接口,那么在讲类的实例放在某个接口类型的变量中后,该实例只能转换成该子类类型变量里和该接口类型(利用强制转化),不能放在其他接口类型的变量里。
继承于父类的子类有自己特有的成员。
小知识点:
修饰符:
protected:当前类及子类可以访问,注意子类创建的对象不能访问。
internal(类的默认访问权限):当前命名空间(类的默认命名空间)内可用。
标签:
原文地址:http://www.cnblogs.com/wllhq/p/4309894.html