Java 物件導向程式設計
物件導向程式設計 (OOP) 是一種程式設計正規化,它將程式組織成物件。物件包含資料和運算元據的方法。
OOP 的優勢:
- 更快、更易於執行
- 提供清晰的結構
- 程式碼更易於維護、修改和除錯
- 提高程式碼重用性
- 減少開發時間
類和物件
- 類 是物件的模板,它定義了物件的屬性和方法。
- 物件 是類的例項,它包含資料和運算元據的方法。
示例:
- 類:
水果
- 物件:
蘋果
、香蕉
、芒果
- 類:
汽車
- 物件:
沃爾沃
、奧迪
、豐田
物件建立
// 建立一個 `水果` 類的物件
Fruit apple = new Fruit();
// 建立一個 `汽車` 類的物件
Car volvo = new Car();
物件屬性
// 設定 `apple` 物件的 `name` 屬性
`apple.name` = "蘋果";
// 獲取 `volvo` 物件的 `color` 屬性
`String color` = `volvo.color`;
物件方法
// 呼叫 `apple` 物件的 `eat()` 方法
`apple.eat();`
// 呼叫 `volvo` 物件的 `drive()` 方法
`volvo.drive();`
物件導向程式設計的其他重要概念:
- 繼承
- 封裝
- 多型
學習物件導向程式設計
- 許多書籍、網站和線上教程可以幫助你學習物件導向程式設計。
- 透過練習,你將能夠更好地理解物件導向程式設計並將其應用於你的程式設計專案中。
Java 類和物件
Java 是一種物件導向的程式語言,這意味著它圍繞著類和物件構建。
類 是物件的藍圖,定義了物件的屬性和方法。
物件 是類的例項,具有特定的屬性值和方法實現。
建立類
使用 class
關鍵字建立類:
public class Main {
int x; // 屬性
public void myMethod() { // 方法
// 方法體
}
}
建立物件
使用 new
關鍵字建立物件:
`Main myObj` = new `Main()`;
訪問屬性
使用點語法訪問物件的屬性:
`int x` = `myObj.x`;
呼叫方法
使用點語法呼叫物件的方法:
`myObj.myMethod();`
示例
public class Main {
int x;
public void myMethod() {
System.out.println("Hello, world!");
}
public static void main(String[] args) {
`Main myObj` = new `Main()`;
`myObj.x = 5;`
System.out.println(`myObj.x`);
`myObj.myMethod();`
}
}
輸出:
5
Hello, world!
類和物件的更多特性
- 繼承: 子類可以繼承父類的屬性和方法。
- 封裝: 將資料和方法封裝在類中,隱藏內部實現細節。
- 多型: 不同的物件可以響應相同的操作以不同的方式執行。
Java 類屬性
類屬性,也稱為欄位,是類中的變數。它們用於儲存與類相關的資料。
建立類屬性
在類定義中宣告屬性:
public class Main {
int x; // 屬性
String name; // 屬性
}
訪問類屬性
使用點語法訪問物件的屬性:
`Main myObj` = new `Main()`;
`myObj.x` = 5; // 設定屬性值
System.out.println(`myObj.x`); // 獲取屬性值
修改類屬性
可以修改物件的屬性值:
`Main myObj` = new `Main()`;
`myObj.x` = 5;
`myObj.x` = 10; // 修改屬性值
System.out.println(`myObj.x`); // 輸出 10
屬性型別
屬性可以是任何資料型別,包括:
- 基本型別:int、double、boolean、char等
- 引用型別:String、Date、List等
修飾符
可以使用修飾符來控制屬性的訪問許可權:
- public:公開訪問
- private:私有訪問
- protected:受保護訪問
- default:預設訪問
示例
public class Main {
private `int x`; // 私有屬性
public `String name`; // 公開屬性
public void myMethod() {
// 可以訪問私有屬性
`x = 10;`
}
public static void main(String[] args) {
`Main myObj` = new `Main()`;
// 可以訪問公開屬性
`myObj.name` = "John Doe";
// 無法訪問私有屬性
// `myObj.x` = 5; // 錯誤
}
}
最後
為了方便其他裝置和平臺的小夥伴觀看往期文章:
微信公眾號搜尋:Let us Coding
,關注後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關注