2012_03_23_Java程式設計實習PPT

Download Report

Transcript 2012_03_23_Java程式設計實習PPT

程式設計實作
Method overloading
Method overloading:
為在同一類別中,定義兩個或多個名稱相同且功能相似但不
同版本的方法,method overloading的使用情況大致上有兩
種,一為接收不同數量的參數,二為傳遞不同型態的參數。
Method overloading
method overloading
範例
Scope
Method內的區域變數(Local Variables):
宣告在method內的變數稱之為區域變數,區域變數只在流程
進入其宣告所在的程式區塊後才會存在,並且要指定初始值
後才生效並使用。若流程離開該區塊,區域變數便會失效,
但若是流程離開又再度進入該區塊,該區域變數仍然是有效
的。
Scope
宣告在類別中的成員(instance variables):
類別中的成員是依附在實體的物件,一旦依據某個類別產生
物件後,這個物件就擁有一份成員變數,只要該物件未被銷
毀,這一份成員變數就依然有效。
若method中宣告了和class成員同名的變數或是參數,此時
method中的變數優先於類別中的成員變數。
Scope
instance variables
範例
Scope
宣告在類別中的成員(static variables):
類別中的成員若宣告為static則為此成員變數共享於此class中
的所有method,也就是所有以此類別建立的物件皆共用此變
數的資料。
Scope
宣告在for迴圈中的變數:
在使用for迴圈時,通常是在for的初始運算式中宣告迴圈變數
,此時這個迴圈變數就只能在整個for區塊中有效,一旦離開
for迴圈,該變數便無法使用,若需在迴圈結束後取得該迴圈
變數的值,就必須在for迴圈之前自行宣告變數。
Constructor
Constructor為物件導向程式語言對於物件初始化的解決方案
,其實constructor是一個另類的method,特別之處在於
constructor是在建立物件時由系統自動呼叫,以建構物件初始
的狀態,也因為在物件產生時會自動呼叫constructor,因此使
用new時,必須在類別名稱之後加上”()”一對小括號,這一對
小括號的意義就是呼叫constructor。
若需要對新建立的物件進行任何初始化的設定,可自行定義
constructor,但須注意:
1. constructor不能傳回任何值,因此不需也不能註明回傳
值型別,連void都不可,否則會造成compile error。
2. constructor一定要和類別同名。
Constructor
Constructor 範例
實作
實作一
使用method overloading方法,設計一個程式計算出
長立方體與正立方體的體積,若使用者輸入3個數值則為長立
方體,輸入一個數值則為正立方體,並且程式碼中,長*高*
寬的公式只能最多出現一次。
實作二
請設計一個程式,其中包含一個類別Dates,並使用
constructor初始化一個包含有7個元素的字串陣列,每個元素
對應星期一到星期天的英文縮寫,並提供一個方法askDate(),
傳入1~7的數字,並傳回對應的英文縮寫。
實作
實作三
請設計一個程式,含有類別Circle,代表一個圓,並提供
半徑和一個包含於此圓內的最大正方形來建立Circle物件,同
時定義method可以計算圓周長及圓面積。
PPT 下載 :
http://oss.csie.fju.edu.tw/~neilsun100/program.html