標籤類指的是:類中由某個或某組常量(這就是標籤),控制著這個類的行為。
示例:
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方法。我們在描述一類事物的時候,發現該種事物確實存在著某種行為,但是這種行為目前是不具體的,那麼我們可以抽取這種行為 的宣告,但是不去實現該種行為,這時候這種行為我們稱作為抽象的行為,我們就需要使用抽象類。抽象類的好處 強...