继承是面向对象程序设计不可缺少的机制,有了继承这个东西,可以提高代码的重用,提高代码的效率,减轻代码员的负担。
面向对象三大特性:封装、继承、多态是相辅相成的。封装为了继承,限制了父类的哪些成员被子类继承,而继承则是为了多态,使得某一父类类型的变量 因为指向的对象不同而表现不同的性质,这就是多态,多态更进一步提高了代码的质量。使得程序朝着人类习惯性思维方向发展,多态也使得扩展程序更加容易,扩展程序不再需要大面积修改原来的代码。
当然这一节讲的是继承,理解了继承才能理解多态
定义:
为了提高代码的重用性,方便修改(修改了父类的非私有成员,便可以修改所有子类中的成员)
特性:
子类可以继承父类所有的非私有成员(public 和 protected修饰的成员,不能继承private修饰的成员)
虽然子类会继承所有父类非私有的成员,但是父类的private私有成员也会在子类的对象中开辟空间,只是无法在子类的方法中访问到,只能通过该子类对象中父类对象的方法,才能访问到。
几个常见的访问修饰符
public:允许在任何地方访问
internal:只能在本项目(程序集,一个项目编译后就是一个程序集)中访问
protected:只能被子类继承
privated:只能本对象使用,不能被其他类继承