class HouseHold extends Customer {
public void requestCoupon() {
Transaction();
CouponCount = 20;
}
public double Transaction () {
Payment += CouponPayment;
return Payment;
}
}
class GCustomer extends HouseHold {
public double Transaction () {
Payment += DisCPayment;
return Payment;
}
}
我正在制作一个物体 GCustomer
我需要使用超级班级申请优惠券( A.requestCoupon();
). 我所坚持的是 requestCoupon()
呼叫 Transaction()
方法和if A
调用请求方法它会调用超类中的方法还是基类中的方法?
2条答案
按热度按时间j9per5c41#
多态性是基于调用方法的对象的实际类型动态地(在运行时)实施的。它依赖于将子类的对象分配给超类的引用的能力。
另外,请注意,如果类中有一个示例方法,并且在该示例方法中调用另一个方法而不使用显式引用(即
reference.method()
语法),然后通过隐式this
引用,它引用实际进行调用的对象(在本例中是派生类)。gcuhipw92#
一旦方法transaction()被重写,它将从gcustomer类调用。