提高代码的可扩展性:处理对象类层次结构时,将具体对象当基类进行处理。这样在方法处理的时候就不必关心具体的对象类型了。
优点:提高设计,降低维护成本
对象根据类型执行具体代码。
非OOP编译器的方法调用:前期绑定,编译器生成对具体方法名的调用,运行时系统解析到将要执行的代码绝对地址。
OOP编译器的方法调用:后期绑定,程序直到运行时才能决定需要调用的代码位置,编译器做方法存在性检查和参数和返回值类型检查。
向上转型(upcasting):子类当作父类处理
提高代码的可扩展性:处理对象类层次结构时,将具体对象当基类进行处理。这样在方法处理的时候就不必关心具体的对象类型了。
优点:提高设计,降低维护成本
对象根据类型执行具体代码。
非OOP编译器的方法调用:前期绑定,编译器生成对具体方法名的调用,运行时系统解析到将要执行的代码绝对地址。
OOP编译器的方法调用:后期绑定,程序直到运行时才能决定需要调用的代码位置,编译器做方法存在性检查和参数和返回值类型检查。
向上转型(upcasting):子类当作父类处理