【问题标题】:Java: Abstract classJava:抽象类
【发布时间】:2015-04-15 22:09:27
【问题描述】:

好的,所以我有一些对我来说不是很清楚的任务要做。 该程序应该是一个简化的智能手机平台。有一个抽象类叫Device,它是由两个子类Actor和Sensor扩展而来的。

现在不清楚的问题是 Actor 应该包含一个具有两个受保护属性的构造函数:long id 和 String description。这两个属性应该能够获取值从外部通过 getter 和 setter。我正在考虑通过母类(设备)对其进行初始化,但这似乎是不可能的,或者是吗?

另一件事是 Sensor 子类,它应该包含一个受保护的 long value,它将存储从传感器收集的值,并且应该可以通过 getValue 访问。这些传感器将在每次调用 getValue 时使用“new java.util.Random().nextLong();”进行模拟并存储到 value 并返回(经典返回值)。

我们将不胜感激任何帮助和建议/解释。

【问题讨论】:

    标签: java oop constructor abstract


    【解决方案1】:

    超类只能访问在超类中定义的属性。话虽如此,您需要在自己的构造函数中设置Actor 的属性(如果Device 没有属性iddescription)。 至于Sensor的Getter:对于你写的,很简单:在调用getValue()时,Sensor对象通过Random生成一个新的long,将随机值存储在value中并返回value

    【讨论】:

    • 有没有一种方法可以在 Actor 类中初始化构造函数,但引用 Device 对象,所需的变量在 Device 类中初始化
    • 不确定我是否理解正确,但您可以使用super(...) 调用超类的构造函数。
    猜你喜欢
    • 1970-01-01
    • 2015-12-06
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多