星期五, 九月 14, 2007

JAVA笔记-05-多型和抽象

  1. 多型(polymorphism)指的是一个对象可以有很多中形式,来源于继承(inheritance)概念。
  2. 子类对象被当作父类处理有如下好处:使用父类参考指向子类实例;使用多型化的参数并返回类型;构建包含不同类型对象的集合
  3. Employee p = new Salary(“Rich Raposa”, “Rapid City, SD”, 47, 250000.00); 非常重要的概念是is a,虽然后面是开薪水员工的实例,但因为开薪水员工也是员工,所以员工的参考可以直接指向开薪水员工。
  4. 要存取Salary的method或field的话,需要塑形(cast)为Salary;沿着继承层级向上走不需要塑形,但向下的话需要塑形。
  5. 要塑形为Salary成功的前提是这确实是个Salary类型的实例,如果不是则抛出异常终止程序;保险起见,可以使用instanceof对之进行检查。
  6. 虚拟方法(virtual method)指的是如果子类中有method覆盖了父类中的method,在用父类引用调用该方法时自动调用子类中的方法;在需要调用子类实例的个性化方法时可以简化程序表达。
  7. 抽象类指的是不能被实例化的类;抽象一词本身意义卓著。声明方式:public abstract class Employee{}
  8. 虚拟方法(virtual method):如果想某个method存在但在子类中进行具体实现,就可以定义该方法为虚拟;包含虚拟方法的类必须也声明为抽象abstract,子类要么实现该方法要么继续声明其为抽象。

没有评论: