Java基礎——面向物件程式設計1
阿新 • • 發佈:2018-12-19
Java基礎知識圖解
面向物件
面向物件(OOP)與面向過程
- 二者都是一種思想,面向物件是相對於面向過程而言的。面向過程,強調的是功能行為。面向物件,將功能封裝進物件,強調具備了功能的物件
。
- 面向物件更加強調運用人類在日常的思維邏輯中採用的思想方法與原則,如抽象、分類、繼承、聚合、多型等。
面向物件的三大特徵 封裝 (Encapsulation) 繼承 (Inheritance) 多型 (Polymorphism)
類與類之間的關係
面向物件的思想概述
程式設計師從執行者轉化成了指揮者。 完成需求時:
- 先去找具有所需功能的物件來用。
- 如果該物件不存在,那麼建立一個具有所需功能的物件。
- 這樣簡化開發並提高複用。
類(class)和物件(object)是面向物件的核心概念。
- 類是對一類事物描述,是抽象的、概念上的定義
- 物件是實際存在的該類事物的每個個體,因而也稱例項
(instance)。
- “萬事萬物皆物件”
java類及類的成員
現實世界萬事萬物是由分子、原子構成的。同理,Java程式碼世界是由諸多個不同功能的類構成的。
現實世界中的分子、原子又是由什麼構成的呢?原子核、電子!那麼,Java中用類class來描述事物也是如此
- 屬 性:對應類中的成員變數
- 行 為:對應類中的成員方法
面向物件的思想概述
- 可以理解為:類 = 汽車設計圖;物件 = 實實在在的汽車
- 面向物件程式設計的重點是類的設計
- 定義類其實是定義類中的成員(成員變數和成員方法)
物件的產生
class Person {
int age;
void shout() {
System.out.println(“oh, my god !I am ”+age);
}
}
Person p1 = new Person();
記憶體:
物件的使用
class TestPerson { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); p1.age = -30; p1.shout(); p2.shout(); } }
記憶體:
物件的生命週期
匿名物件
我們也可以不定義物件的控制代碼,而直接呼叫這個物件的方法。這樣的物件叫做匿名物件。
- 如:new Person().shout();
使用情況
- 如果對一個物件只需要進行一次方法呼叫,那麼就可以使用匿名物件。
- 我們經常將匿名物件作為實參傳遞給一個方法呼叫。