面向对象三大特性:继承、封装、多态
一、封装
- 要求字段尽量不要对无关的类型开放权限,函数若外部需要访问则开为可访问权限,否则也设为封闭权限。
- 一个类型相关的操作,尽可能的封装在类型内部。
二、继承
一个类可以派生(继承)自另一个类,也可以派生出任意多个子类(派生类)。
子类可以继承(直接访问)基类(父类)中除私有访问权限之外的任何成员。
C#是单继承语言,一个类只能有一个基类,但是可以派生出任意多个子类。
使用场景:当多个类中存在任意多相同和不同的成员,我们可以把多个类中相同的部分抽象出来封装到单独的一个类中,然后让原本的多个类继承自该类。
作用:就是当派生类(子类)继承自基类(父类)之后,派生类或其派生类的对象可以直接访问基类有派生权限的成员,但是这些成员都在基类中声明实现。
派生层级可以有任意多层,从基类继承过来的成员就相当于自身的成员,可以继续派生给自己的子类。
基类中也可以有独有的部分,即私有成员。
所有类都存在继承关系,若没有显式继承自某个基类,则默认继承自object对象类,对象类是.net框架中所有类的最终基类。
class Animal:Object
{
//受保护访问权限:protected。只有自身和子类可以访问,其他地方均不可访问
protected string name; //姓名
protected string sex; //性别