oop
object 對象
oriented 面向、導向
programming 規劃、設計、程式設計
oop 達到了軟體工程的三個主要目标:
–重用性、靈活性和擴充性。
oop的幾大特性:
–封裝、繼承、多态
使人們的程式設計與實際的世界更加接近,所有的對象被賦予屬性和方法,結果程式設計就更加富有人性化。
類與對象概念
類:實際上是對某種類型的對象定義變量和方法的原型。它表示對現實生活中一類具有共同特征的事物的抽象,是面向對象程式設計的基礎。
對象:對象就是類的執行個體。類與對象的關系就如類型和變量的關系,對類的操作都可以通過對象來實作。當一個類定義了多個對象時,每個對象擁有各自的成員資料。
構造函數
是特殊的成員函數;在建立對象時首先由系統自動調用。它的作用是為新建立的對象配置設定空間,或為該對象的成員變量指派等;
構造函數名必須與其類名稱完全相同,并且不允許有傳回值。
封裝
定義:指能夠把一個實體的資訊、功能、響應都裝入一個單獨的對象中的特性。
優點:
1)封裝允許類的客戶不必關心類的工作機理就可以使用它。
2) 所有對資料的通路和操作都必須通過特定的方法,否則便無法使用,進而達到資料隐藏的目的
繼承
–繼承的方法允許在不改動原程式的基礎上對其進行擴充,這樣使得原功能得以儲存,而新功能也得以擴充。這有利于減少重複編碼,提高軟體的開發效率。
關鍵字java中:extends
基類(父類)與派生類(子類)
修飾符:public private protected 預設
多态
–具有表現多種形态的能力的特征
–使用不同的執行個體執行不同的操作
繼承的存在
–繼承是多态的基礎,沒有繼承就沒有多态
子類重寫父類方法
–多态下調用子類重寫後的方法
父類引用指向子類對象
–子類到父類的類型轉換