Unity 3D游戏开发 - C#面向对象 | 多态之抽象类语法
其他
2018-09-24 03:00:42
阅读次数: 0
抽象方法
- 虚方法 -> 抽象方法
- 父类里面用 virtual 关键字修饰的方法叫做虚方法,子类可以使用 override 重写该虚方法,也可以不写。
- 虚方法是有方法体的,当父类中的这个方法已经虚到完全无法确定方法体时,就可以使用另外一种形式来表现,这种形式叫抽象方法。
- 抽象方法语法
抽象类
- 抽象类语法
- 在定义类的关键字 class 前面加上 abstract 修饰的类就是抽象类。
- 子类继承抽象类,使用 override 关键字重写父类中所有的抽象方法。
- 抽象类注意事项
- 抽象类中不一定要有抽象方法,但抽象方法必须存在于抽象类中。
- 抽象类不能被实例化,因为抽象类中有抽象方法(无方法体),如果真能实例化抽象类的话,调用这些无方法体的方法没有意义。
使用场景
- 当父类中的方法不知道如何去实现时,可以考虑将父类写成抽象类,将方法写成抽象方法。
- 如果父类中的方法有默认实现(即有方法体),且父类需要被实例化,这时可以考虑将父类定义成一个普通类,用虚方法实现多态。
- 如果父类中的方法没有默认实现,且父类不需要被实例化,则可以将该类定义为抽象类。
转载自blog.csdn.net/weixin_41232641/article/details/82716871