劉妍東



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