一 抽象类和抽象方法
用abstract修饰的方法称为抽象方法
含有抽象方法的类必须定义为抽象类
使用场景: 为了描述抽象的概念,不予具体的事物相关联
只是当做派生类的基类来使用
抽象的特征:
抽象方法只做声明,不能包含具体实现
抽象方法旨在被继承之后使用,所以不能用
private来修饰
2,抽象类不能被直接实例化(不能用new创建)
3,抽象类可以没有抽象成员,但是抽象成员
只能在抽象类中
4,如果抽象类的子类不是抽象类,那么必须要实现
该抽象类中的所有的抽象方法,如果子类是抽象类,
可以重写也可以不重写
抽象方法和虚方法的区别:
抽象方法是特殊的虚方法
1,抽象方法必须在抽象类
2,抽象方法在类中不能有实现体,虚方法必须有
3,抽象方法在非抽象子类中必须被重写,而虚方法在子类中可以实现
也可以不重写
//Person.name = "小米";
//Person.Eat("香蕉");
二,静态成员
1,用static 关键字修饰的成员 只能由类来调用
函数所有行为对派生类的影响都一致的时候,可以定义为静态的
静态成员就相当于一个带有命名空间的全局函数
不需要实例化 而且不需要this指针,和实例(对象)无关
调用方便,加强肋的安全性 可以封装算法 当做工具来使用
有助于实现一些设计模式有助于