面向對象
- 面向對象編程(OOP - Object Oriented Programing)
面向過程與面向對象的區別
- 面向過程與面向對象都是我們編程中編寫程序的一種思維方式
- 面向過程的程序設計方式,是遇到一件事時,思考"我該怎麼做",然後一步步實現的過程
- 面向對象的程序設計方式,是遇到一件事時,思考"我該讓誰來做",然後那個"誰"就是對象
使用面向對象的好處
- 面向對象思維方式是一種更加符合人們思考習慣的思想
- 面向對象中更多體現的是指揮着(指揮對象做事情)
- 面向對象思維方式將複雜的問題簡單化
面向對象舉例
-
超市
- 客戶
- 姓名:小龍女
- 身高:160cm
- 身高:60kg
- 操作:購物
- 收銀員
- 姓名:啊明
- 部門:財務部
- 員工編號:00001
- 操作:收銀、打印賬單、刷卡
- 客戶
-
汽車
public class Car {
// 顏色
String color;
// 輪胎個數
int number;
public void run() {
System.out.println("一輛顏色爲"+color+"輪子數爲"+number+"的車行駛在蜿蜒的馬路上");
}
}
類與對象的區別
- 在程序中對事物的描述與該事物在現實中的形態保持一致。爲了做到這一點,面向對象的思想中提出兩個概念,即類和對象。其中 類是對某一類事物的抽象描述,而對象用於表示現實中該類事物的個體
面向對象三大特性
- 封裝
- 只隱藏對象的屬性和實現細節,僅對外提供公共訪問方式
- 好處: 將變化隔離、便於使用、提高複用性、提高安全性
- 原則:將不需要對外提供的內容隱藏起來;把屬性隱藏,提供公共方法對其訪問
- 繼承
- 子類自動擁有父類非私有的屬性與方法
- 提高代碼複用性;繼承是多態的前提
- 多態
- 類的多種形態。是父類或接口定義的引用變量可以指向子類或具體實現類的實例對象
- 好處:提高了程序的擴展性
- 弊端:當父類引用指向子類對象時,雖提高了擴展性,但只能訪問父類中具備的方法,不可訪問子類中的方法;即訪問的侷限性
- 前提:實現或繼承關係;覆寫父類方法