将继承的参数从超类更改为子类

问题描述 投票:0回答:2

我有一份有关医生和处方的作业。在一个类中,我不应该像超级类一样在构造函数(子类)中使用int reit。作业中的提示是,开处方时int reit应该始终从3开始(一个人可以使用该处方多少次)。我应该如何将其从int reit更改为3(据我从课堂讲师的提示中了解到)。

挪威语中的一切,因为我们必须,希望没事。感谢您的帮助!

这里是头等舱:

public abstract class Resept {

  protected int id = 0;
  protected static int teller = 1;
  protected int pasientID = 0;
  protected int reit = 0;
  protected Legemiddel legemiddel;
  protected Lege utskrivendeLege;

  public Resept(Legemiddel legemiddel, Lege utskrivendeLege, int pasientID, int reit) {
    this.legemiddel = legemiddel;
    this.utskrivendeLege = utskrivendeLege;
    this.id = teller;
    this.reit = reit;
    this.pasientID = pasientID;
  }
}

这里是下一个:

public class HvitResept extends Resept {

  public HvitResept(Legemiddel legemiddel, Lege utskrivendeLege, int pasientID, int reit) {
    super(legemiddel, utskrivendeLege, pasientID, reit);
  }
}

并且在下一个类中,我们不应该在构造函数中编写int reit。使用新的P受体(避孕药),Reit始终为3。

public class PResept extends HvitResept {

  public PResept(Legemiddel legemiddel, Lege utskrivendeLege, int pasientID, **int reit**) {
    super(legemiddel, utskrivendeLege, pasientID, reit);
  }
}
java inheritance constructor subclass
2个回答
1
投票
public class PResept extends HvitResept {

  public PResept(Legemiddel legemiddel, Lege utskrivendeLege, int pasientID) {
    super(legemiddel, utskrivendeLege, pasientID, 3);
  }
}

您可以使用所需的值调用super(...);。 super将调用其父类的构造函数。


0
投票
public class PResept extends HvitResept {
  private static final int reit = 3;
  public PResept(Legemiddel legemiddel, Lege utskrivendeLege, int pasientID) {
    super(legemiddel, utskrivendeLege, pasientID, reit);
  }
}

当我们创建类型为PResept的新对象时,每次都不会占用此变量为private static和final的值,并且由于final而无法更改该值。

© www.soinside.com 2019 - 2024. All rights reserved.