2011年12月23日 星期五

物件導向設計:名詞解釋

anonymous class:
沒有宣告名稱的類別。Inner Class的一種。
宣告的方法是直接在程式中以new關鍵字來建立類別實體。由於該類別並沒有名稱,因此它只能使用一次。宣告匿名類別時也可以定義成員及方法,但是你不可以定義static成員也不能定義類別的建構子。


base class:
又稱parent class(父類別),是被繼承的類別。


derived class:
又稱 derived class 或稱 child class(子類別) ,是繼承自父類別的類別。


abstract class:
不可new出來執行,但可接受被繼承,再由繼承之子類別,執行並定義class的內容。


polymorphism:
相同的訊息可能會送給多個不同的型別之物件,而系統可依據物件所屬型別,尋找對應型別的method,而有不同的行為。簡單來說,所謂多型意指相同的訊息給予不同的物件會引發不同的動作。

overriding:
名稱和參數與繼承的method完全相同,但內容敘述可以依需要進行修改。


overloading:
相同名稱的method,參數的型態、數量不同,為了符合polymorphism而創的機制


interface:
class內的method只定義傳出與傳入參數,並強迫定義宣告為public當子類別承作介面,必須補充程式碼,若沒補充完整,則必須定義成abstract class。

用途:可容納其他類別進行資料交換、交換執行方法、甚或做繼承。


inner class:
定義:class裡面的class。
優點:可直接存取外部類別的私用(private)成員,同時可簡化程式碼。


final class     :該class不得被繼承
final method :該method不得被覆蓋(不得overriding)
final variable :該variable只能被設定一次(初值)


event-driven programming:
定義:在程式執行的時候,是依靠某些事件(如:鍵盤滑鼠)來決定程式之後的動作(如:滑鼠點右鍵產生表單),跟傳統的程式不同在流程控制的改變。



Super:
呼叫constructor:

super();//呼叫沒有參數的建構子

呼叫父類別的method

super.methodName()//前提是此method不是private


考古題簡單說明:

package mypackage;
public class test2
{
 public       int V1;    //所有範圍的class皆可利用
 protected int V2;   //子類別以及同package的class可使用
                   int V3;   //同package的class可使用
 private     int V4;   //所有範圍的class皆不可使用
}


沒有留言:

張貼留言