1.8 C# 继承和继承关系中的构造函数

时间:2021-08-19 19:30:21
1,构造函数 构造函数的语法格式: 修饰符+类名(){ } 构造函数的作用:实例化对象,快速初始化对象
构造函数的特点: 1,如果类中没有构造函数,系统会为每一个类生成默认的构造函数 2,如果类中存在带有参数的构造函数,系统就不会为类生成默认的构造函数 此时如果调用new Cat();时会报错. 解决方法有两个:1,为类添加默认的构造函数 2,new Cat(传参数); 3, 构造函数是没有返回值的.
2.继承 继承的语法 A:B 即A类继承自B类
继承的特点: 1.子类会拥有父类所有的公开字段/属性/方法 2.父类不会拥有子类的字段/属性/方法 3.如果子类和父类出现相同的字段/属性/方法,以子类为准 4.子类可以出现在任何父类出现的地方,父类可以替换子类,子类不能直接替换父类 Father f = new Son(); 编译时f的类型是Father,运行时f的类型是Son 5.如果子类出现和父类相同的方法名时,如果想隐藏父类方法, 需要在子类方法修饰符后加上new关键字,防止后期程序过大时出现Bug 6.base关键字代表父类对象 7.一个子类不可以拥有多个父类(父类除了object类) 8.父类可以拥有多个子类 继承中的构造函数特点: 1.如果两个类存在父子关系,那么在实例化子类的时候,首先会调用 父类的无参数构造函数,然后再调用子类的构造函数 2.实例化子类对象的时候,可以指定父类调用父类中存在的任意构造函数 使用关键字:base() :base() ----指定子类构造函数调用父类的无参数构造函数 :base(a) ---指定子类构造函数调用父类带有一个参数的构造函数 这里需要注意的是: 我们在实例化子类对象的时候,一定要关注构造函数的特点;