1.類別(Class)與物件(Instance)的關係:
類別:有相同屬性的物件即屬同一類別。
物件:一物件的行為若完全依照其類別所定義的行為,我們便稱此
物件為其類別的『物件』。
例如:大家都知道汽車的定義(及類別的定義),假設您買了一部車,
『那部車』即為汽車類別的一個物件(Instance)。
2.介面(Interface):
一介面就是一類別的外型,用來提供物件使用者瞭解此物件之類別
有何種方法可以使用。
3.資訊隱藏(information hiding)與資料抽象化(data abstraction):
類別通常會隱藏它們的實作細節不讓類別的客戶知道,這就叫資料
隱藏(information hiding )。客戶要求的只是在資料項被放入堆疊
中的時候,它們會以後進先出的順序取回,這個觀念叫做資料抽象化
(data abstraction) 。
4.抽象類別(abstract class):
抽象類別的目的在於提供一個父類別,讓其子類別能夠繼承他的方法並
覆寫之。例如我們定義了一個「二維物體」類別(抽象類別),然後從其
衍生出正方形、圓形、三角形等實體類別。宣告抽象類別只要在其它定
義的前面加上abstract即可,public abstract class Employee{..}
5.(is a)和(has a)的關係差異(繼承與包含):
is a:「這是個什麼類別的物件」=>當物件關係是is a的時後,我們就能
讓這個物件繼承在某個類別之下。例如:矩形、正方形、梯形同時也是
「四邊形」,因此矩形類別可以說是繼承了「四邊形」類別。
has a:「此物件包含什麼物件」=>當物件關係是has a的時候,則這個
物件必須包含其它物件作為其成員。例如:有二個類別分別是員工、生日
,我們總不可能說員工「是」生日的一種吧!但我們可以說,員工類別的
資料當中,「包含」了生日類別型別的物件。
6.方法之覆載Overloading與方法之覆寫Overriding:
Overloading(方法之覆載):呼叫方法之名稱相同,但所給的資料參
數型態不同,而必須觸發不同的方法內容以執行使用者的需求,此則
稱為「Overloading」。
Overriding(方法之覆寫):在一個類別與其所衍生的子類別中,因子
類別本身的需要而必須重寫某些繼承得來之方法,我們將此技術稱為
「Overriding」。
7.物件導向程式設計中,物件屬性、方法與事件三者之間的關係:
以車子來舉例,車子有白色的、黑色的、紅色的,而其也有個別的車牌號
碼,這些就是車子物件的「屬性」;而車子可以「加速」、「煞車」、「
倒車」,這些動作就是車子物件的「方法」;然而「車子」不可能無緣無
故就會自己加速、自己倒車,其當然是需要人去駕駛它,而「人」去踩油
門使「車子」加速,這就是「事件」。
8.private、protected、public存取控制有何不同::
(1)private(私有的):用private宣告的實體變數或方法只可以被那個
類別的方法存取。
(2)protected(保護的):protected成員存取的限制介於private與public
之間,父類別的protected成員可被父類別的方法
、子類別的方法,以及其它同一包裹的類別所存取
、呼叫。
(3)public(公開的):用public宣告的實體變數或方法,不管在哪裡,只要
程式有一個所定義類別之物件的參考的話都可以存取
9.何謂繼承:
繼承是一種軟體可以重覆利用的方法,一個新類別從已有的類別衍生出來
,並吸收已有類別的屬性與行為,還可以加入新類別所需的屬性與行為。
例如:public class Circle extends Point {.....} 父類別Point的所有
非private成員都會被Circle子類別所繼承。
10.This參考之用途: 對於類別的一個特定物件來說,當那個類別的方法參考到那個類別的其
他成員時,Java可以使用this這個關鍵字使其能夠參考到正確的物件。
11.關鍵字new:
new運算子動態地為一個指定型別的物件配置記憶體,並傳回那個
型別的一個參考。
12.包裹存取:
當一個方法或變數在類別定義的時候,如果沒有提供給它成員存取
修飾字。(public或是private)的話,那麼這個方法或變數就會被視
為擁有包裹存取性(package access),且編譯時會自動將所有定義的
類別所產生的.Class檔放置在同一目錄下。
請先 登入 以發表留言。