多态+抽象类

来源:互联网 发布:window10 c语言编译器 编辑:程序博客网 时间:2024/06/05 10:25

静态多态: 重写、重载
动态多态: 重写 + 动态绑定


转型技术:子类转父类,自动转;没有风险;
父类转子类,有风险,不是子类,不能识别;因此引入 instanceof运算;
public boolean equals ( Object arg ){
if ( arg instanceof Employee ){ //判断是否是Employee类型;
Employee emp = ( Employee ) arg; //使用新的标识符指向;
if( this.employeeNum.equals( emp.getEmployeeNum( ) ) ){
return true;
}
}
}
绑定技术
实现调用:PureGirl shuanger = new PureGirl( );
Boy wxb = new Boy( ) ;
BoldGirl jiangning = new BoldGirl( );
wxb。setMyGirl ( jiangning );
// 在引用类型引入的时候直接将标识符加入调用方法;

@Override: 帮助实现方法的强制检查;
多态总结:
1、可以使用父类类型的引用指向子类的对象
2、该引用只能调用父类中定义的方法,不能调用子类中独有的方法;
3、子类中重写父类的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法
4、子类可以调用父类的所有方法;

异构集合: 可以解决数组数据类型必须一致的问题; 还有数据结构的问题在后面流中解决;
Object[ ] all = new Object[ 10 ] ;
all[ 0 ] = new Boy( ) ;
all[ 1 ] = new Scanner(System.in) ;
all[ 2 ] = new Dollar( );
但是基本数据类型无法存储进去,基本数据类型没有父类这一说,所以无法放进去;

使用抽象类,抽象方法的好处
1、抽象类,本身就没有实例化的需求;
2、通过抽象类可以来管理子类,建立抽象类的容器进行管理;在不能建立在抽象类的子类就无法管理;
3、并且通过成为抽象类的子类,这些类必须使用抽象方法;
4、实现动态绑定之后,添加新的员工对象的时候,无需改变其他类,也无需改变抽象类;

0 0
原创粉丝点击