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
成为
抽象
方法


我不会说哪一种是“正确的方法”。我想让你自己好好想想。

那么你想让我们帮你做作业吗?