簡體   English   中英

從子類返回數據

[英]Returning data from a sub-class

我在“員工”類中有一個子類“ shopStaff”。 我有一個Meathod getPerson,我需要將在staff中的數據集和在shopStaff中的數據集作為單個字符串發送。

這是我的代碼

//員工

public String getPerson()
{
    return format(name) + format(yearJoined);
}

//在shopStaff中

public String getPerson()
{
    super.getPerson();
    return format(department);
}

但是,當我在子類中調用getPerson肉類時,它僅返回部門信息,而不返回名稱和年份(我僅在超類中設置)。

我想當我使用超級。 Meathod它將返回層次結構中以上類的所有內容。 不是嗎? 如果沒有人可以告訴我如何訪問超類中的信息集?

謝謝

CJ

super.getPerson()返回值不會與當前getPerson()方法中的return語句一起return 它只是丟失在您的代碼中。

您需要更改shopStaff方法,以使用子類return語句返回超類值:-

public String getPerson()
{
    return super.getPerson() + format(department);
}

你打電話時:

super.getPerson();

該退貨被丟棄,因為它沒有存儲在任何地方。 您想這樣做:

//in shopStaff
public String getPerson() {
  return super.getPerson() + format(department);
}
public String getPerson()
{
    String fromSuper=super.getPerson();
    return fromSuper + format(department);
}

除非您在子類中讀取和使用它,否則僅調用super不會獲得數據。

可能是這樣的事情將工作:

public String getPerson()
{
    String person = super.getPerson();
    return person+format(department);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM