Java 如何反映子类的两个对象从未过期?
超类:Java 如何反映子类的两个对象从未过期?,java,inheritance,polymorphism,subclass,superclass,Java,Inheritance,Polymorphism,Subclass,Superclass,超类: public class Card { ... public boolean isExpired() //Card never expires. { return false; } } 子类: public class IDCard extends Card {} public class PhoneCard extends Card {} 问题: 身份证和电话卡不会过期。您应该如何在实现中
public class Card
{
...
public boolean isExpired() //Card never expires.
{
return false;
}
}
子类:
public class IDCard extends Card {}
public class PhoneCard extends Card {}
问题:
身份证和电话卡不会过期。您应该如何在实现中反映这一事实?不要覆盖子类IDCard和PhoneCard中的isExpired方法,因为父类卡已经为您提供了“不过期”行为。确保如果父类中有一个名为isExpired的字段,那么它应该是私有的,并且不应该有setter。仅提示!我不是在为你编写代码,因为它看起来像一个“学习练习” 您可以实现超类的行为,以便
卡的实例可以过期。并在必要时覆盖相关子类中的行为。然后,您需要决定“unexpirable”子类是使用还是忽略超类中表示卡是否过期的变量。。。并据此实施
或者,您可以将超类实现为抽象
类,并使isExpired
成为抽象
方法
我不会说哪一种是“正确的方法”。我想让你自己好好想想。那么你想让我们帮你做作业吗?