1.8 C# 继承和继承关系中的构造函数
2017-08-03 22:10
288 查看
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) ---指定子类构造函数调用父类带有一个参数的构造函数
这里需要注意的是:
我们在实例化子类对象的时候,一定要关注构造函数的特点;
构造函数的语法格式:
修饰符+类名(){
}
构造函数的作用:实例化对象,快速初始化对象
构造函数的特点:
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) ---指定子类构造函数调用父类带有一个参数的构造函数
这里需要注意的是:
我们在实例化子类对象的时候,一定要关注构造函数的特点;
相关文章推荐
- c#中继承关系中的子父类的构造函数 纠缠
- c#文件系统操作类继承关系图
- 【Java继承学习笔记系列】在继承关系下构造函数执行时的顺序
- 解惑《你必须知道的.net》——C#继承关系中【方发表】的创建和调用
- c#继承与构造函数
- 小例子大智慧1---C#继承,构造函数
- c# 命名空间之System.IO(继承关系)
- C#集合类图继承关系一览表
- c# abstract抽象类与继承类子类的构造函数_base
- Java中继承关系的构造函数的调用顺序
- 【c++基础】关于继承关系中构造函数的粗略理解
- C#中两个类之间有继承关系时的执行顺序~
- c# 关于继承类中构造函数的实现
- 二十五、继承(二) 不能自动继承的成员函数、继承与构造函数、友元关系与继承、静态成员与继承
- 关于C#继承中 接口、抽象类、普通子类 微妙关系
- C++继承关系中构造函数的调用顺序
- c#网络操作类继承关系图
- C#继承与构造函数的调用
- C#类的继承,构造函数实现及其调用顺序
- C#继承中构造函数,成员变量的执行顺序