快速Java继承

快速Java继承,java,Java,好的,只是练习我的圣诞期末课本上的问题,但有时我不明白有些问题想要什么 我有点迷路了,它想让我继承Email tester类吗 问题: 创建一个带有main 方法,该方法使用消息类生成 并将其打印出来 -- 一个类只有在共享“是关系”时才应该继承另一个类 EmailTester显示一条消息:听起来不正确 假设有一个Email类,Email就是一条消息——听起来很正确 因此,在您的情况下,不需要扩展Message类,而是创建Message类的实例并执行所需的操作。Message Message

好的,只是练习我的圣诞期末课本上的问题,但有时我不明白有些问题想要什么

我有点迷路了,它想让我继承Email tester类吗

问题: 创建一个带有main 方法,该方法使用消息类生成 并将其打印出来

--


一个类只有在共享“是关系”时才应该继承另一个类

  • EmailTester显示一条消息:听起来不正确
  • 假设有一个Email类,Email就是一条消息——听起来很正确

因此,在您的情况下,不需要扩展Message类,而是创建Message类的实例并执行所需的操作。

Message Message=new Message(“blah”,“blah”):

您不需要继承这样复杂的东西。如果你的课程很好,你应该先学习创建对象,然后再学习继承,因为如果不先理解创建简单对象,继承就没有意义

String output = new Message("foo", "bar").toString();

然后打印该字符串。

EmailTester使用main方法,该方法使用Message类生成消息并打印它。

显然,它表明具有一种关系(组合)
EmailTester
有一条
消息
。不需要继承


当您可以感觉到是一种关系时,就会应用继承。e、 g汽车和车辆。

将您的构造更改为如下:

public Message(String recipient, String sender){
        this.recipient = recipient;
        this.sender = sender;
        body = "";
}
Message m = new Message("recipient", "sender");
变量名并不重要,但我认为它们更直观。要点是希望
消息的每个实例都存储用于构造它的值

然后在EmailTester中执行如下操作:

public Message(String recipient, String sender){
        this.recipient = recipient;
        this.sender = sender;
        body = "";
}
Message m = new Message("recipient", "sender");
你必须问你的教授在这种情况下“发送”信息意味着什么


至于继承,我不知道它是如何应用的。也许您的讲师希望在将来的练习中扩展内容,以便您有不同类型的消息。

它希望您创建
消息的实例并使用它。您的
消息
构造函数忽略它的参数。仔细看一看。哦……来吧,学点OOP,或者从网上的例子中得到一个例子,这是本网站的一个##$$#问题:(哦,很抱歉不知道,不问问题怎么学习…@Rodislav,即使你曾经是一个问人问题的新手如果它让你那么困扰,为什么你一开始就点击了一个名为QuickJava继承的问题?你期待什么?一个关于Liskov替换原理的说明?OP是一个初学者。让他或她提问和学习。如果你不先修复构造函数,它不会打印出foo或bar。