劉妍東
摘 要:在面向?qū)ο蟮木幊趟枷胫校琷ava類的設(shè)計是學(xué)習(xí)中的難點也是重中之重,類能否設(shè)計好,也是能否學(xué)習(xí)好面向?qū)ο蟮木幊陶Z言。通過生活中的實例分析到最后java類代碼的完成,能給學(xué)習(xí)者啟發(fā)。
關(guān)鍵詞:抽象; java類; 代碼
中圖分類號:G434? ? ? ? ? ?文獻標識碼:A? ? ?文章編號:1006-3315(2020)1-194-001
1.引言
Java語言是一種面向?qū)ο蟮木幊陶Z言,因其具有簡單性、面向?qū)ο?、可移植、分布性、安全性等特點,已被社會認可,并已成為軟件開發(fā)的主流設(shè)計語言了。同時,在眾多高校中《java語言》也成為編程類課程的入門語言了。如何教好這門課程,如何學(xué)好這門課程,也是計算機類專業(yè)學(xué)習(xí)的重中之重。下面本人通過面向?qū)ο缶幊讨蓄惖母拍?,進行探討。
2.面向?qū)ο蟮木幊趟枷?/p>
面向?qū)ο蟮木幊趟枷胧?,把現(xiàn)實世界中的實體,轉(zhuǎn)換成計算機世界的代碼。通過程序來實現(xiàn)對事物的描述。面向?qū)ο缶幊痰娜筇卣鳎悍庋b、繼承和多態(tài)。則現(xiàn)實世間中的實體,我們就可以稱之為對象,而同一類的對象模板,我們就可以稱之為類。我們可以說,類是對象的抽象,對象是類的實例化。
面向?qū)ο缶幊逃腥筇卣鳌?/p>
(1)封裝,將對象的屬性和行為進行封裝,而將對象的屬性和行為進行封裝的載體就是類。封裝可以隱藏程序內(nèi)部的具體實現(xiàn),只提供外部對數(shù)據(jù)訪問的接口,提高程序的可靠性。
特點:提高代碼的可維護性
(2)繼承,在已有對象的屬性和行為的基礎(chǔ)上派生新的子類,子類不但可以擁有父類的屬性和行為,還可以在此基礎(chǔ)上進行擴展,擁有自身的特殊屬性和行為。
特點:實現(xiàn)抽象,提高代碼復(fù)用性。
(3)多態(tài),同一實現(xiàn)接口,使用不同的對象實例執(zhí)行不同的操作。
特點:增強代碼的可維護性和可擴展性。
3.類的概念
類是具有相同的屬性和功能的事物的抽象的集合,在面向?qū)ο蟪绦蛟O(shè)計中,人們把一類事物的靜態(tài)屬性和動態(tài)可以執(zhí)行的操作組合在一起就得到類這個概念。類是個抽象的概念,用來模擬一類事物,一旦定義了一個類,這個類就永遠存在。
比如人,人有男人和女人,他們都有身高,體重等相同的屬性,他們都具有走路,吃飯,工作等這些相同的,可動態(tài)執(zhí)行的操作,所以可以定義“人類”這樣一個類來包含他們相同的屬性和功能。車,車有轎車、卡車、公共汽車等,都有車牌、車型、顏色等屬性;行駛、停止等行為。所以可以定義“車類”來包含他們相同的屬性和功能??ㄓ秀y行卡、消費卡、會員卡等。都有卡號、密碼等屬性;消費、存儲等行為。我們就可以定義成“卡類”,來表示他們都屬于卡。在編程的過程中我們可以把屬性通過數(shù)據(jù)變量來體現(xiàn),操作行為通過具體方法來實現(xiàn)。
4.類的設(shè)計
在面向?qū)ο蟮木幊趟枷胫校覀冃枰熏F(xiàn)實世界中的實體進行抽象化,提煉出共同的屬性與行為,然后轉(zhuǎn)換成java代碼。
如張三李四等,都有姓名、性別、年齡、人員編號、身高、體重、家庭住址、工作、活動等。在這些共同特點中,姓名、性別、年齡、人員編號、身高、體重、家庭住址等能用一個具體的值來描述的,我們稱之為屬性,在計算機世界可以用成員變量來描述。工作、活動等這些無法用一個具體的值來描述的,在計算機世界用成員方法來描述。根據(jù)我們的需要,保留幾個常用的特點,加上標點符號。一個簡單的抽象世界的程序語言就出現(xiàn)了,見圖1。
現(xiàn)在就已經(jīng)有程序結(jié)構(gòu)的樣子了,在轉(zhuǎn)化為java語言的類時,我們還需要再考慮這些成員變量的取值,可以通過取值來決定成員變量的數(shù)據(jù)類型。如,人員編號,是由一段不會改變的數(shù)字串組成,而且不需要參與運算,這樣我們就可以把人員編號定義為字符串“String”類型。姓名,是多個字符組成,也可以定義為字符串“String”類型。年齡,可隨著日期變化,而且用整數(shù)描述,就可以把年齡定義為整型“int”類型。工作、活動這些操作我們暫時先定義“無返回值”類型。最后,在“人”前面加一個“class”,class是定義類的關(guān)鍵字?,F(xiàn)在,這就是一個我們定義好的“人類”,見圖2。
在程序代碼中盡量少出現(xiàn)中文,所以我們可以把人類的屬性和行為轉(zhuǎn)換為字母表示的英文,見圖3。
為表示一個完整的類,我們再加上方法體,見圖4。這樣一個完整的類就設(shè)計出來了。
類設(shè)計完成后,就可以通過對象測試一下,定義了zhangsan對象,調(diào)用work方法。定義了lisi對象,調(diào)用play方法。得出運行結(jié)果。見圖5。
4.總結(jié)
在面向?qū)ο蟮木幊趟枷胫?,類的設(shè)計涉及到了幾個概念:
類是封裝了一類對象的狀態(tài)和方法。是現(xiàn)實世界中事物的抽象集合。類具有完整的功能和相對的獨立性。對象:是現(xiàn)實世界中可以明確標識的任何事物。在程序中,對象由類來創(chuàng)建。成員變量:是用來描述類的屬性,反映類的狀態(tài)和特征。成員方法:是用來說明類的行為,反映類中對數(shù)據(jù)的操作。
類的設(shè)計并不難,我們只要掌握好現(xiàn)實世界中的抽象和以上概念,就能設(shè)計出客戶需要的類了。