物件導向2 2

2021-07-05 21:42:23 字數 1870 閱讀 9836

物件導向2(2)

一、知識點:

1.介面

2.多型

3.內部類

二、介面:

1.當乙個抽象類中的方法都是抽象的時候,這時可以將該抽象類用

介面 inte***ce來代替。

2.介面中的成員修飾符是固定的(只能有這個兩種元素)

3.介面的出現將「多繼承」通過另一種形式體現出

來,即「多實現」。

三、介面的特點:

1.介面是對外暴露的規則。

2.介面是程式的功能擴充套件,可以用來多實現。

3.類與介面之間是實現關係,而且類可以

繼承乙個類的同時實現多個介面。

4.介面與介面之間可以有繼承關係,

類可以同時繼承抽象類和介面。

四、多型:

1.某一類事物的多種存在形態。

2.貓這個物件對應的型別是貓型別

,同時貓也是動物中的一種,也可以把貓稱為

動物。3.動物是貓和狗具體事物中抽取出來的父型別。

4.物件的向上轉型

物件的向下轉型(向下轉型必須先要向上轉型)。

5.父類或者介面的引用指向或者接收自己的子類物件。

6.多型的存在提高了程式的擴充套件性和後期可維護性

。7.需要存在繼承或者實現關係要有覆蓋操作。

五、多型的特點:

1.編譯時:要檢視引用變數所屬的類中是否有所呼叫的成員。

2.在執行時:要檢視物件所屬的類中是否有所調

用的成員。

3.只看引用變數所屬的類。

4.在多型中進行向下轉型最好是先用instanceof判斷下型別

。六、類設計的注意事項:

1.類的設計主要是父類的設計

。2.子類永遠不要去 繼承乙個已經完全實現好了的類,因為一旦發生向上轉型,

所呼叫的方法一定是被子類覆蓋過的方法,所以只會繼承抽象類或者是介面。

七、抽象類和介面的區別:

1.抽象類是乙個模板

,而介面是乙個標準

。八、工廠設計模式factory:

**:class factory//工廠類

if("橘子".equals(name))

return f;}}

九、**類設計模式proxy:

**:class proxycl implements net

public boolean check()

public void browse()

}十、內部類:

1.將乙個類定義在另乙個類的裡面,對裡面那個

類就稱為內部類(內建類,巢狀類)。

2.內部類可以直接訪問外部類中的成員,包括私有成

員。3.而外部類要訪問內部類中的成員必須要建立內部類

的物件。

**:class  innerdemo

}class outer

}public inner getinner()

}在外部訪問內部類:

outer outer = new outer();

outer.inner in = outer.new inner();

in.print();

十一、使用static定義內部類:

**:class  innerdemo

}class outer}}

十二、匿名內部類:

1.就是內部類的簡化寫法。

2.內部類可以繼承或實現乙個外部類或者介面。

3.就是建立乙個建立乙個帶內容的外部類或者介面的子類

匿名物件。

**:class nonamedemo 

});}

}inte***ce a

class b implements a

}class do

}

22 物件導向

1 物件導向 物件導向的程式設計的核心是物件 上帝式思維 要理解物件為何物 物件就是單獨的個體,程式的設計都是在這個個體之內。優點 解決了程式的擴充套件性。對某乙個物件單獨修改,會立刻反映到整個體系中,如對遊戲中乙個人物引數的特徵和技能修改都很容易。缺點 可控性差 類 抽象的,我能知道什麼屬性,有什...

python學習之路22 物件導向

物件導向函式都是定義了一類事物,直到呼叫函式,賦值給物件後才開始執行 類是抽象的,有屬性,有技能,但不知道他們具體的值,需通過傳參才能執行 物件有具體的值 屬性和技能,都是根據類規範的 class dog 類名 一次模擬小狗的簡單嘗試 def init self,name,age 初始化方法,sel...

day22 初始物件導向 類

類 具有相同特徵的一類事物 人 狗 老虎 物件 例項 具體的某乙個事物 隔壁阿花 樓下旺財 class person 類名 country china 創造了乙個只要是這個類就一定有的屬性 類屬性 靜態屬性 def init self,args 初始化方法,self是物件,是乙個必須傳的引數 sel...