使用封裝有三大好處:
1、良好的封裝能夠減少耦合。
2、類內部的結構可以自由修改。
3、可以對成員進行更精確的控制。
4、隱藏資訊,實現細節。
5、封裝我們也能夠對物件的出口做出很好的控制,訪問入口做一些控制
如對實體類進行屬性封裝方法:setter()和getter()
同時在使用繼承時需要記住三句話:
1、子類擁有父類非private的屬性和方法。
2、子類可以擁有自己屬性和方法,即子類可以對父類進行擴充套件。
3、子類可以用自己的方式實現父類的方法。
對於繼承而言,子類會預設呼叫父類的構造器,但是如果沒有預設的父類構造器,子類必須要顯示的指定父類的構造器,而且必須是在子類構造器中做的第一件事(第一行**)。
對於protected而言,它指明就類使用者而言,他是private,但是對於任何繼承與此類的子類而言或者其他任何位於同乙個包的類而言,他卻是可以訪問的
public class person
}public class husband extends person
public static void main(string args)
}
首先我們需要明確,繼承存在如下缺陷:
1、父類變,子類就必須變。
2、繼承破壞了封裝,對於父類而言,它的實現細節對與子類來說都是透明的。
3、繼承是一種強耦合關係。
如果必須向上轉型,則繼承是必要的,但是如果不需要,則應當好好考慮自己是否需要繼承。
即不修改程式**就可以改變程式執行時所繫結的具體**,讓程式可以選擇多個執行狀態,這就是多型性
多型的前提條件有三個:
多型與向下轉型
向下轉型是指將父類引用強轉為子類型別;這是不安全的,因為有的時候,父類引用指向的是父類物件,向下轉型就會丟擲classcastexception,表示型別轉換失敗;但如果父類引用指向的是子類物件,那麼向下轉型就是成功的。
public class wangxiaosi extends wangsi
public void eat()
public static void main(string args) ;
// wangsis[1]能夠向下轉型
((wangxiaosi) wangsis[1]).write();
// wangsis[0]不能向下轉型
((wangxiaosi)wangsis[0]).write();}}
class wangsi
public void read()
}
Java三大特性 封裝,繼承,多型
封裝的作用 1 封裝能夠減少耦合 2 類內部結構可以自由修改 3 對成員變數進行更精確的控制 例項 public class person在上面這段 中,把屬性定義成private私有的,只能在本類中訪問,其他類訪問不了。public class person public string getna...
java的三大特性 封裝,繼承,多型
增強安全性和簡化程式設計,使用者不必了解具體的實現細節。隱藏物件的屬性和實現細節,僅對外公開介面來對程式中屬性的讀和修改。封裝的基本做法 把所有的屬性私有化,對每個屬性提供getter和setter方法,在開發的時候經常要對已經編寫的類進行測試,所以有的時候還需重寫tostring方法。用exten...
三大特性 封裝,繼承,多型
重寫方法的規則 1 引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。2 返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。3 訪問修飾符的限制一定要大於被重寫方法的訪問修飾符 public protected default private 4 重寫方法一定...