我讀了很多關於「接口」和「抽象類」的文章在面向對象的編程中,我們需要抽象嗎?
基本上,我們在談論對象的特性時使用「抽象類」。
而我們使用「接口」,當我們調查什麼對象能夠做。
但它仍然讓我感到困惑,所以我爲自己做了一個練習的例子。
所以現在我想到一個對象的貨物;
public abstract class cargo {
protected int id;
public abstract int getWidth(int width);
public abstract int setWidth(int width);
public abstract int setHeight(int h);
public abstract int getHeight(int h);
public abstract int setDepth(int d);
public abstract int getDepth(int d);
public abstract int volume(int w,int h,int d);
public int getId(){
return this.id;
}
public abstract int setId();
public abstract void setBrand();
public abstract void getBrand();
.....so on , still have a lot of characteristic of a cargo
}
//in the other class
public class usaCargo extends cargo{
....
private
}
因此,這裏有幾個關於我的設計的問題。
1.因此,在真正的編程項目世界中,我們是否真的像上面這樣做?對我來說,我認爲沒關係設計,我們符合貨物的基本特徵。
如果我們設置「專用標識」,那麼,我們卻不能因爲它是私人使用「身份證」在任何子類這個變量,所以是意味着我們在抽象類定義的每個變量必須是公共/保護?
有人可以舉一些合適的例子,讓我的貨物可以實現一些界面嗎?
public interface registration{ public void lastWarrantyCheck(); }
,但似乎不太適合在這裏...
我們不經常內部接口定義變量,請我們?
我試着在OOP上獲得更多的意義。原諒我很長的問題。