《多态之函数重载》
封装 继承 多态 抽象
多态:同一个方法不同形态体现,
多态分静态多态和动态的多态
静态多态:函数重载和符号重载
动态多态:抽象和虚方法
函数重载:在同一个范围内,函数名一样,参数的类型不一样,或者是参数的个数不同,这样函数就是重载
仅仅只有返回值类型不一样,不属于函数的重载
《多态之符号重载》
符号重载:把常用的算术运算符号,逻辑运算符号按照自己的方式进行运算(能够使用对象运算)
例如计算+,可以计算俩个数字相加,10+10=20
符号重载可以+实现对象相加
如果想实现两个对象相加,可以通过符号重载实现
重载+让两个对象相加,计算两个对象面积相加的结果
符号重载定义静态的方法,在符号前面添加opertor关键字
《多态之抽象类》
动态多态表现:抽象
抽象类:用于提供类的部分成员实现,包含抽象方法也可以普通的方法,如果是抽象方法不用去实现,谁继承这个抽象谁去实现抽象方法
抽象类里面也可以定义抽象成员,如果是抽象成员,需要在派生类去实现成员
定义抽象类public abstract class People{}
定义抽象方法 public abstract void Sayhello(int a);
派生类实现的时候添加override关键字 public override void Sayhello(int a) {
《虚方法》
抽象方法和虚方法的区别
1抽象成员和抽象方法只能定义抽象类里面,但是虚方法和虚成员可以定义在普通类里面
2抽象方法和抽象成员在抽象类不能实现,但是虚方法和虚成员可以定义普通类里面可以实现
3抽象方法和抽象成员在派生类必须实现,但是虚方法和虚成员可以不用在派生类实现
4 可以使用overid重写基类的抽象方法或者虚方法
《密封类》
抽象类被继承
sealed 密封类,特点不能被继承
密封类不允许被继承的,虚方法设计目的就是为了在子类重写这个虚方法,俩者设计理念违背了
静态类:添加静态成员 ,不能new实例化