封装是面向对象编程的一大特征,所谓的封装通俗来说就是把不想被别人看到的东西隐藏起来,封装的原则要求不能直接访问类中的数据成员,封装具有以下特征:在类的定义中设置访问对象属性以及方法
的权限,限制本类对象及其它类的对象的使用范围;提供一个接口来描述其他对象的使用方法;其他对象不能直接修改本对象所拥有的属性和方法。其实在之前说的类的属性就是一种封装。
继承 面向对象编程语言的一个主要的特性就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。比如,在student类里和teacher
类里都与name,age,sex属性,那么我们就可以把这些相同的属性提取到一个person类里,让另外两个类都能使用这个类的属性,这时就需要继承。
声明继承 语法:
[访问修饰符]class[类名]:[父类]
{
//类体
}
值得提一下的是,访问修饰符protected是介于public和private之间的,它只能在本类或子类中使用。
继承具有两大特性,首先是它的单根性,也就是说每一个子类只允许有一个父类,不能继承多个类,其次是它的传承性,也就是说父类所拥有的特性和行为,子类也都拥有,
子类调用父类的构造函数分为隐式调用和显示调用两种情况,一般而言,子类默认调用父类默认的构造函数或者用户显示提供一个无参构造函数,如果父类中没有无参构造函数,那么子类必须指明调用父类的
哪个有参构造函数,也就是显示调用,显示调用构造函数语法如下举例:
public reader(string name,int age,string card):base(name,age)
{...}
继承之里氏替换:原则上子类对象是可以赋给父类对象的,也可以说子类可以替换父类,并且在父类公开成员的前提下出现在父类能够出现的任何地方,反过来,父类对象是不能替换子类的。
的权限,限制本类对象及其它类的对象的使用范围;提供一个接口来描述其他对象的使用方法;其他对象不能直接修改本对象所拥有的属性和方法。其实在之前说的类的属性就是一种封装。
继承 面向对象编程语言的一个主要的特性就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。比如,在student类里和teacher
类里都与name,age,sex属性,那么我们就可以把这些相同的属性提取到一个person类里,让另外两个类都能使用这个类的属性,这时就需要继承。
声明继承 语法:
[访问修饰符]class[类名]:[父类]
{
//类体
}
值得提一下的是,访问修饰符protected是介于public和private之间的,它只能在本类或子类中使用。
继承具有两大特性,首先是它的单根性,也就是说每一个子类只允许有一个父类,不能继承多个类,其次是它的传承性,也就是说父类所拥有的特性和行为,子类也都拥有,
子类调用父类的构造函数分为隐式调用和显示调用两种情况,一般而言,子类默认调用父类默认的构造函数或者用户显示提供一个无参构造函数,如果父类中没有无参构造函数,那么子类必须指明调用父类的
哪个有参构造函数,也就是显示调用,显示调用构造函数语法如下举例:
public reader(string name,int age,string card):base(name,age)
{...}
继承之里氏替换:原则上子类对象是可以赋给父类对象的,也可以说子类可以替换父类,并且在父类公开成员的前提下出现在父类能够出现的任何地方,反过来,父类对象是不能替换子类的。