这是我在互联网上找到的 Java 设计问题之一。我试图根据我的面向对象知识来解决这个问题。
您有一个 Smartphone 类,并且将有 IPhone、AndroidPhone、WindowsMobilePhone 等派生类,甚至可以是带有品牌的手机名称,您将如何设计这个 Classes 系统?根据需求提到的唯一细节是设计必须足够灵活以支持未来的产品,并且足够稳定以支持现有模型的变化。
根据我的理解,如果我必须为上述问题提供设计,那么我会将Phone类创建为抽象类。Smartphone类将是 Phone 类的子类,而iPhone、AndroidPhone、WindowsMobilePhone是Smartphone类的四个子类。IPhone、AndroidPhone 和 WindowsMobilePhone 类中会有属性 name brand,以支持带有品牌的手机名称。其他可能的属性是版本号、平台、型号、型号名称等
请让我知道上述设计是否正确。我需要您的意见来改进或更正我的解决方案。