新手剛學java,還不是很懂。想問圖中a[1] 為什麼不能用bark(),語錄3怎麼錯了?語句6運行為什麼會出錯?
IS--A基於類繼承或接口實現,IS-A是表達這句話的一種方式:“這個東西是那個東西的一種”。例如:野馬是一種馬。(是一個)
HAS-A關系是基於用法(即引用)而不是繼承。換句話說,如果類A中的代碼具有對類B實例的引用,則“類A HAS-A類B”。例如:馬有缰繩。(有一個)
“is-a”代表的是類之間的繼承關系,比如PC機是計算機,工作站也是計算機。PC機和工作站是兩種不同類型的計算機,但都繼承了計算機的共同特性。因此在用Java語言實現時,應該將PC機和工作站定義成兩種類,均繼承計算機類。
“has -a”代表的是對象和它的成員的從屬關系。同一種類的對象,通過它們的屬性的不同值來區別。比如一台PC機的操作系統是Windows,另一台PC機的操作系統是Linux。操作系統是PC機的一個成員變量,根據這一成員變量的不同值,可以區分不同的PC機對象。