第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

子類中的 getter 和 setter

子類中的 getter 和 setter

素胚勾勒不出你 2021-11-17 15:40:07
我只是在學(xué)習(xí)編程中的繼承,我想知道您是否應(yīng)該為每個(gè)子類中的實(shí)例變量編寫覆蓋的 getter 和 setter,或者您是否只使用從抽象父類中繼承的那個(gè)。為每個(gè)子類中的繼承變量編寫 getter 和 setter 是不是很糟糕的代碼?
查看完整描述

2 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

是的,如果您不需要子類中的特殊行為,它會(huì)這樣做。


認(rèn)為:


class A {

   private String val;

   public String getVal() { return this.val }

   public void setVal(String newValue) { this.val = newValue }

}

class B extends A {

   // you already have access to getVal & setVal here, so it's useless to override them here

}

class C extends A {

   private String valCopy;


   @Override

   public void setVal(String newValue) {

      super(newValue);

      this.valCopy = newValue

      // new behavior so here it's ok to override

   }

}


查看完整回答
反對(duì) 回復(fù) 2021-11-17
?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

假設(shè)我們有一個(gè)通用類 Number 可以接受任何數(shù)值,但我們想使用 Number 類實(shí)現(xiàn)兩個(gè)不同的類,例如 PositiveNumber 和 NegativeNumber,我們可以重寫 setter 方法并強(qiáng)制數(shù)字集始終為正數(shù)或負(fù)數(shù),具體取決于被覆蓋的類。


public class Number {

    private int num;


    public int getNum() {

        return num;

    }


    public void setNum(int num) {

        this.num = num;

    }

}


public class PositiveNumber extends Number {


    @Override

    public void setNum(int num) {

        super.setNum(num > 0 ? num : -num);

    }


}


public class NegativeNumber extends Number {


    @Override

    public void setNum(int num) {

        super.setNum(num > 0 ? -num : num);

    }


}


查看完整回答
反對(duì) 回復(fù) 2021-11-17
  • 2 回答
  • 0 關(guān)注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)