设计场景:智能手机类和将派生类如IPhone、AndroidPhone、WindowsMobilePhone甚至可以是带



这是我在互联网上发现的Java设计问题之一。我试着根据我面向对象的知识来解决这个问题。

您有一个Smartphone类,并且将具有派生类,如IPhone、AndroidPhone、WindowsMobilePhone甚至可以是带有品牌的电话名,你会如何设计这个课程系统?根据需求,唯一提到的细节是,设计必须足够灵活,以支持未来的产品,并且足够稳定,以支持现有模型的更改

根据我的理解,如果我必须为上述问题提供设计,那么我将创建Phone类作为抽象类Smartphone类将是Phone类的子类,IPhone、AndroidPhone、WindowsMobilePhoneSmartphone类别的四个子类。IPhone、AndroidPhone和WindowsMobilePhone类中会有属性名称brand来支持带有brand的电话名称。其他可能的属性包括版本号、平台、型号、型号名称等

请告诉我上面的设计是否正确。我需要您的意见来改进或纠正我的解决方案。

您的设计看起来不错。

我建议:

1->创建父类"SmartPhone"

2->它可以有智能手机必须有像型号,发布年份,品牌这样的属性。

3->父类还应包括智能手机。必须具有呼叫、消息传递等功能,作为抽象方法

3->对于常见的智能手机功能,您可以拥有指示智能手机常见功能的接口,如相机、Palyer等

4->然后像AndroidPhone、iOSPhone这样的子类可以继承SmartPhone父类,并定义所有必须具有SmartPhone属性和功能的类。

5->子类然后可以实现通用功能接口,如果这些功能是由该Phone移植的。

6->将来,如果创建了一个新的SmartPhone子类,它也可以继承SmartPhone父类,并通过定义的接口实现通用功能。

7->如果将来需要添加额外的功能,可以为其设计新的接口,并由支持它的手机实现。

相关内容

最新更新