虚方法 和 抽象方法 区别:
虚方法:
1.用virtual修饰
2.要有方法体
3.可以被子类override(重写)
4.除了密封类、静态类外都可以写(虚方法)
抽象方法:
1.用abstract修饰
2.没有方法体
3.必须被非抽象的子类override(重写)
4.必须存在于抽象类中
抽象类:
1.有抽象方法(属性)的类一定是抽象类
2.抽象类不仅可以包含抽象方法、抽象属性,同样也可以包含其他属性、方法和构造函数
3.抽象类不能被实例化
4.抽象类不能是静态或者密封的,因为静态类和密封类都不能被继承