面向对象——(6)继承

      对象的继承代表了一种“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的属性和功能;

第二,子类具有自己的属性和功能,即子类可以扩展父类没有的属性和功能;

第三,子类还可以以自己的方式实现父类的功能(方法重写)。



原文地址:https://www.cnblogs.com/saixing/p/6730358.html