劉妍東
摘 要 在面向對象的編程思想中,java類的設計是學習中的難點也是重中之重,類能否設計好,也是能否學習好面向對象的編程語言。通過生活中的實例分析到最后java類代碼的完成,能給學習者啟發。
關鍵詞 抽象 java類 代碼
1抽象
現實生活中的事物隨處可見,例如,我們身邊的人、大街上的汽車、隨身攜帶的各種用途卡等都是看的見、摸得著的事物。我們把這些事物都稱之為對象。對象有很多都屬于相同的種類。如各種不同膚色、不同職業的人,都屬于人類。如各式各樣的車,都屬于車類。各種用途的卡,都屬于卡類。我們就可以說,類是對象的抽象,對象是類的實例化。
在面向對象程序設計中, 類是由屬性和行為組成的。上述這些對象都有屬性和行為。例如,人有年齡、身高、體重等屬性;跑、跳等行為。車有車牌、車型、顏色等屬性;行駛、停止等行為。卡有卡號、密碼等屬性;取款、存款等行為。屬性通過數據來體現,行為通過具體功能來實現。
2轉換
銀行卡在我們生活中必不可少,據社會科學文獻出版社統計,大學生平均擁有信用卡的數量已超過2張,如何將現實中的銀行卡變成計算機世界的類呢?接下來我們用java語言來實現卡類的設計。
首先我們要提取卡的共同點,也就是卡具有的屬性。如發卡行、卡號、卡主名、有效日期、背后驗證碼。還有我們看不到的屬性,如密碼、余額、卡主的電話號碼、身份證號、消費記錄等。接下來提取卡具有的行為,包括存款、取款、刷卡消費、轉賬、繳費等等。其中,發卡行、卡號等能用具體的值來描述的屬性,在類里面將轉換為成員變量。存取款、轉賬等這些可執行操作,在類里面轉換為成員方法。根據我們的需要可以只保留常用的成員變量和成員方法。我們給它們加上標點符號,看看是不是有些程序語言的結構了。
銀行卡{
卡號;
余額;
存款(){ }
取款(){ }
查詢余額(){ }
}
3生成java代碼
在轉化為java語言的類時,我們還需要再考慮這些成員變量的取值,可以通過取值來決定成員變量的數據類型。如卡號。我們可以注意到,卡號是由長長的一串數字組成,而且不需要參與運算,這樣我們就可以把卡號定義為“字符串”類型。余額,表示卡里存儲的錢,如66元6角8分。允許存在小數點,這樣余額就可以定義為實型,如“雙精度”類型。存款、取款、查詢余額這些操作我們暫時先定義“無返回值”類型。最后,在“銀行卡”前面加一個“class”,class是定義類的關鍵字。現在,這就是一個我們定義好的“銀行卡類”。
class 銀行卡{
String 卡號;
double 余額;
void 存款(){ }
void取款(){ }
void查詢余額(){ }
}
中文呈現在源代碼中不太合適。下面我們用規范的命名方法來重新修改一下,一般采用見名知意原則來命名。如類,銀行卡,就可以命名為card。卡號,命名為cardNo。余額用balance來表示。存款用deposit來表示。取款用withdraw表示,最后,查詢余額可以用getBalance表示。到此為止,我們的銀行卡類就設計完成,該類中包括2個成員變量,3個成員方法。我們再把3個成員方法加上方法體,一個簡單的類完成了。
class Card{
String cardNo;
double balance;
void deposit(double d){
balance+=d;
System.out.println(“存款”+ d +”元 余額為 ”+balance+”元”);
}
void withdraw(double d){
balance-=d;
System.out.println(“取款”+ d +”元 余額為 ”+balance+”元”);}
}
void getBalance(){
System.out.println(“余額”+balance+“元”); }
}
}
類設計完成后,就可以通過這個類來生成一個個具體的銀行卡對象了。我們先試試生成一個簡單的對象測試一下card類。首先定義一個測試類,Test,然后寫上標準的主方法。
public class Test {
public static void main(String[] args) {
Card debitCard=new Card();
debitCard.deposit(200);
}
}
在主方法中, 使用Card類生成debitCard對象,我們用new(閃爍)關鍵字調用默認的構造方法(Card()閃爍),這樣debitCard對象中的值都賦為默認值,cardNo值為NULL,balance值為0.0。最后,使用debitCard.deposit來調用存款方法。參數200,代表存了200元。
由Card類實例化了一個名為debitCard的對象,初始值為0,我們往里面存了200元,現在卡里就有200元了。
4總結
最后,我們再回憶一下,在類的設計中,涉及到了幾個的概念。
類是封裝了一類對象的狀態和方法。是現實世界中事物的抽象集合。類具有完整的功能和相對的獨立性。對象:是現實世界中可以明確標識的任何事物。在程序中,對象由類來創建。成員變量:是用來描述類的屬性,反映類的狀態和特征。成員方法:是用來說明類的行為,反映類中對數據的操作。
同學們,是不是設計一個類很簡單,你們也來設計一個吧。