当前位置: 首页 > 知识库问答 >
问题:

设计场景:Smartphone类并将有派生类,如IPhone、AndroidPhone、WindowsMobilePhone甚至可以是带有品牌的电话名称

夹谷弘亮
2023-03-14

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

请让我知道上面的设计是否正确。我需要你的投入来改进或修正我的解决方案。

共有1个答案

景辰钊
2023-03-14

你的设计看起来不错。

我建议:

1->创建父类“Smartphone”

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

3->父类还应包括智能手机必须具有的功能,如调用,消息传递作为抽象方法

 类似资料:
  • 问题内容: 我已经使用JAXB编写了许多类进行序列化,并且我想知道是否存在一种基于注释为每个对象生成XSD文件的方法。有这个工具吗? 喜欢的东西是 真棒 。有什么可以做的吗? 问题答案: 是的,您可以在JAXBContext上使用该方法: 您可以利用实现控制输出的位置:

  • 问题内容: 因此,此代码的输出为。现在,我想到了一个问题:作为 派生 类对象的 po 怎么能调用作为基类的 PrivateOverride 的私有方法? 问题答案: 因为您在类中定义了main方法。如果将main方法放在Derived类中,它将无法编译,因为在该类中不可见。 class中的po.f()调用不是多态的,因为in 类为,所以in class中的值不会被覆盖。

  • 我正在使用Intelij Idea在JAVAFX中尝试一个简单的项目,因此我遇到了两个问题: 案例1: 当我将和和放在同一个文件夹: 案例2: 当我将放在文件夹中,并将和文件夹中: 1-SceneBuilder找不到Controller.java 谢谢

  • 问题内容: 为什么在C#中,不允许派生类具有比其基类更大的可访问性。 例如,这将产生错误:可访问性不一致:与“ DerivedClass”类相比,基类“ BaseClass”的访问性较差 以及为什么在Java中允许它。 问题答案: 更新 :这个问题是我在2012年11月13日发布的博客的主题。感谢您提出的好问题! 为什么在C#中,不允许派生类具有比其基类更大的可访问性? 除了其他好的答案之外,请考

  • 无论地图画面还是菜单画面等等,担任各画面的处理的是场面类。 把所有的场面类列个表,类名和脚本名一一对应。还有,Scene_File 类作为 Scene_Save 和 Scene_Load 的超级类而定义的这个列表没包含。 类 内容 Scene_Title 标题画面 Scene_Map 地图画面 Scene_Menu 菜单画面 Scene_Item 条款画面 Scene_Skill 技能画面 Sce

  • 下面是一个人为的例子:(实际代码中使用的命名方案太令人困惑) 我有一个班主任,他是第三方图书馆的一部分,不可更改。我也有一些课程延伸到父亲;比如儿子。祖父有一个类似这样的构造函数: 这个构造函数中实际发生的事情并不重要。重要的是,它所做的任何事情都必须由所有派生类完成,因此对的调用是每个派生类构造函数的第一行。这里的含义是,祖父的所有后代的构造函数,无论距离有多远,都必须始终调用super(或调用