第二十條 類層次由於標籤類

2021-07-16 23:11:36 字數 943 閱讀 6127

標籤類指的是:類中由某個或某組常量(這就是標籤),控制著這個類的行為。

示例:

public class figure ;

private double radium;

private double width;

private double height;

private shape type;

public figure(double radium)

public figure(double width,double height)

public double area()

}}

二、標籤類的缺點

①、容易產生資料冗餘,就像例子中的area()方法,需要進行型別判斷才能返回值,如果資料一多就需要進行大量的判斷,整個類的可讀性太低。

②、型別不清晰,比如說我用到了這個類的構造方法,我怎麼知道我返回的面積是circle還是square。

綜上,標籤類唯一的優點是,能夠少建立類。

三、如何改進標籤類

標籤類,其實就是將類此層結構包裝在了乙個類中,我們只需要還原它的類層級介面就可以了。

首先:父類:figure     子類:square() 、circle()

①、建立父類

public inte***ce figure
②、子類繼承父類(square為例)

public class square implements figure 		

@override

public double area()

}

使用:

public static void main(string args)
這樣最容易體現類層次。

所以標籤類是一種很糟糕的編碼方式。

第二十天 Java IO(File類 遞迴)

file類 用來將檔案或者資料夾封裝成物件 方便檔案與資料夾的屬性資訊進行操作。file物件可以作為引數傳遞給流的建構函式。file類常見方法 1 建立 boolean createnewfile 在指定位置建立檔案,如果該檔案已經存在,則不建立,返回false。和輸出流不一樣,輸出流物件一建立檔案...

第二十三模板 18 4演算法類

第二十三模板 18.4演算法類 stl 標準模板庫 通用演算法共分四大類 不變序列演算法 不對其所作用的容器進行修改 改變序列演算法 對其所作用的容器進行修改 排序演算法 對容器中的元素採用多種方式進行排序 數值演算法 對容器中的元素進行數值計算 這些演算法全部在標準命名空間std中的中定義 1 函...

第二十八 Java物件導向之抽象類

1.動物類的shout方法描述的不正確。2.沒有強制要子類一定要重寫shout方法。我們在描述一類事物的時候,發現該種事物確實存在著某種行為,但是這種行為目前是不具體的,那麼我們可以抽取這種行為 的宣告,但是不去實現該種行為,這時候這種行為我們稱作為抽象的行為,我們就需要使用抽象類。抽象類的好處 強...