面向对象编程: OOP(Object Oriented Programing)面向对象程序设计,是倾向于建立一个对象模型,能够近似的反应域内 实体之间的关系,能够清楚地去定义类之间的层次关系。
面向对象的三大特点: 封装 继承 多态
一: 继承的特点:
继承: 允许我们根据一个类定义另一个类,使用程序创建和维护变得更加容易,会减少代码的重复率,节省开发时间
父类:通过把几个类相同的内容提取出来,单独创建一个类,这个类就叫父类(基类)
子类: 其他成员继承与基类的类成为子类(派生类)
如果一个类没有继承其他类,默认继承于Object类,C#所有类的基类都是Object
二: 基类和派生类的关系
派生类可以从基类或者接口继承其类里面函数或者属性
一个子类只能继承一个父类但是可以继承多个接口
一个父类可以有多个子类
三: 继承的实例:
1 首先创建一个Animal父类 也就是基类 。在父类里面进行定义成员函数 属性和方法
2 接着定义一个新类 也就是子类(派生类)
调用子类的构造函数时候 先调用父类的构造函数 再去执行子类的构造函数
:base() 基类,先去调用父类的构造函数 再去调用子类的构造函数 默认情况下 base 可以省掉的
3 最后在Main里面进行调用:
4 最后结果为
总结:
不带参数构造函数会默认调用父类不不带参数的构造函数 调用new Dog(),会调用父类的new Animal()
带参数的构造函数不会默认调用父类的带参数的构造函数 调用 new Dog(1,2,3,4) 不会调用new Animal() 有参数的构造
如果在调用子类带参数的构造函数时候 想去调用父类带参数的构造函数需要在在子类带参数的构造函数后面添加base()
共有属性和私有属性在类外部可以通过 带参数的构造函数进行赋值