学做软件的网站有哪些,网站功能模块是什么,wordpress主题编辑,迪奥网络营销方式继承
继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类#xff0c;不需要完全重新编写新的数据成员和成员函数#xff0c;只需要设计一个新的类#xff0c;继承了已有的类的成员即可。这个已有的类被称为的基类#xff08;父类#xff0…继承
继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类不需要完全重新编写新的数据成员和成员函数只需要设计一个新的类继承了已有的类的成员即可。这个已有的类被称为的基类父类这个新的类被称为派生类子类。
父类与子类 访问修饰符 class 父类名 { ... } class 子类名 : 父类名 { ... } 父类中不是所有的属性和方法都会继承给子类的。 public 子类和其他都可以访问protected 外部不能访问自己和子类可以访问 privated 只能在该类中访问不能继承 class Animal{public int age;public string name;//外部不能访问自己和子类可以访问protected int money;//只能在该类中访问不能继承private int home;}//public 成员和 protected 成员都会被继承过来class Cat : Animal{public int legs 4;}class Duck : Animal{public int legs 2;}
调用函数
派生类可以通过关键字base来调用基类的构造函数和方法。 class Animal{public int age;public string name;//外部不能访问自己和子类可以访问protected int money;//只能在该类中访问不能继承private int home;public Animal(int inAge, string inName, int inMoney){age inAge;name inName;money inMoney;Console.WriteLine(Animal 的构造函数被调用了);}public virtual void Cry(){Console.WriteLine(Animal:动物叫);}}//public 成员和 protected 成员都会被继承过来class Cat : Animal{public int legs 4;//派生类可以通过关键字base来调用基类的构造函数。public Cat(int inAge, string inName, int inMoney):base(inAge, inName, inMoney){Console.WriteLine(Cat 的构造函数被调用了);}public override void Cry(){//派生类可以通过关键字base来调用基类的方法。base.Cry();Console.WriteLine(喵喵喵);}}class Duck : Animal{public int legs 2;//派生类可以通过关键字base来调用基类的构造函数。public Duck(int inAge, string inName, int inMoney):base (inAge, inName, inMoney){Console.WriteLine(Duck的构造函数被调用了);}public override void Cry(){//派生类可以通过关键字base来调用基类的方法。base.Cry();Console.WriteLine(嘎嘎嘎);}}
基类的初始化
派生类继承了基类的成员变量和成员方法。因此父类对象应在子类对象创建之前被创建。 static void Main(string[] args){Animal animal new Animal(1, 动物, 2);animal.Cry();Cat sonObj new Cat(10, 猫, 100);sonObj.Cry();Console.WriteLine(sonObj.name);//使用基类的类型存放子类的对象Animal obj1 new Cat(5, 猫, 101);obj1.Cry();Animal obj2 new Duck(2, 鸭子, 2);obj2.Cry();}