对象的继承代表了一种“is-a”的关系,如果两个对象A和B,可以描述为“B是A”,则表明B继承A。比如:苹果是水果,即苹果继承水果。实际上,继承者还可以理解为是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己独特的个性。就像苹果,除了具有水果的一般特性外,它还有多种维生素、矿物质、糖类、脂肪等,构成大脑所必须的营养成分。
继承定义了类如何相互关联、共享特性。继承的工作方式是,定义父类和子类,或叫做基类和派生类,其中子类继承父类的所有特性。子类不但继承了父类的所有特性,还可以定义新的特性。
基类Animal
class Animal { //成员变量 int Animalamount; //成员函数 Ainmal_run() { //定义 } ... }
派生类
class dog:Animal { //成员变量 int dogamount; //成员函数 dog_run() { //定义 } ... ... }
class cat:Animal { //成员变量 int catamount; //成员函数 cat_run() { //定义 } ... ... }
调用
//调用 static void Main(string[] args) { dog dg_obj = new dog(); dg_obj.Animal_run(); cat ct_obj = new cat(); ct_obj.Animal_run(); }
如果子类继承于父类:
第一,子类拥有父类非private的属性和功能;
第二,子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;
第三,子类还可以以自己的方式实现父类的功能(方法重写)。