面向对象编程中的多态性:概念与应用
1. 多态行为的展示
在面向对象编程里,多态性是一个关键特性,它允许我们以统一的方式处理不同类型的对象。假设有一个类层次结构,其中 BasePlusCommissionEmployee 类继承自 CommissionEmployee 类。通常,我们会使用超类变量指向超类对象,子类变量指向子类对象,像下面这样:
// 分配超类引用给超类变量
CommissionEmployee commissionEmployee = new CommissionEmployee(
"Sue", "Jones", "222-22-2222", 10000, .06 );
// 分配子类引用给子类变量
BasePlusCommissionEmployee basePlusCommissionEmployee =
new BasePlusCommissionEmployee(
"Bob", "Lewis", "333-33-3333", 5000, .04, 300 );
不过,我们也能把超类引用指向子类对象。例如:
CommissionEmployee commissionEmployee2 = basePlusCommissionEmployee;
当通过超类引用调用子类对象的方法时,实际调用的是子类的方法实现。这是因为在运行时,真正调用的方法由被引用对象的类型决定,而非变量的类型。
超级会员免费看
订阅专栏 解锁全文
1384

被折叠的 条评论
为什么被折叠?



