201871010121-王方《面向對象程序設計(Java)》第四周學習總結

項目html

內容java

這個做業屬於哪一個課程編程

https://www.cnblogs.com/nwnu-daizh/數組

這個做業的要求在哪裏dom

https://www.cnblogs.com/nwnu-daizh/p/11552848.html函數

 

 

做業的學習目標學習

  1. 掌握類與對象的基礎概念,理解類與對象的關係;
  2. 掌握對象與對象變量之間的關係;
  3. 掌握預約義類DateLocateDate類經常使用API
  4. 掌握用戶自定義類的語法規則,包括實例域、靜態域、構造器方法、更改器方法、訪問器方法、靜態方法、main方法、方法參數的定義要求;(重點、難點)
  5. 掌握對象的構造方法、定義方法以及使用要求;(重點)
  6. 理解重載概念及用法;掌握包的概念及用法;

第一部分  第四章基礎知識測試

(一)類與對象的基礎概念this

  1. 什麼叫類?

類是構造對象的模板和藍圖,類是一種抽象的數據類型(類是對對象的抽象)。spa

類之間的關係:

依賴:若是一個類的方法操縱另外一個類的對象,就說一個類依賴於另一個類。

聚合:聚合關係意味着類A的對象包含類B的對象。

繼承:經過擴展一個類來創建另一個類的過程。
      2.什麼是對象?

對象,指的是在內存上一段有意義的區域,稱做爲一個對象。對象是對客觀事物的抽象在C中,具備特定長度的類型,能夠稱做爲對象類型,例如函數不具備特定長度,因此不是對象類型。

對象的三個主要特徵:

行爲:能夠對對象施加哪些操做或方法?

狀態:當施加方法時對象會如何迴應?

標識:如何辨別具備相同行爲與狀態的不一樣對象?

        3.類與對象的關係是什麼?

它們的關係是,對象是類的實例,類是對象的模板。對象是經過new className產生的,用來調用類的方法;類的構造方法。由類構造對象的過程稱爲建立類的 實例。

  1. 使用預約義類:

Java中已經接觸的類:scanner類,string類,main類,Math類。例如Math類在程序中可使用Math.random,並且 只須要知道方法名和參數就行,不須要了解它的具體實現過程。

   4.對象與對象變量

(1)要想使用對象,就必須先構造對象,並制定其初始狀態,而後對對象應運方法。使用構造器構造新實例。構造器拿是一種特殊的方法,用來構造並初始化對象。

(2)構造器的名字應與類名相同。

(3)想要構造一個對象,要在構造器前面加上new操做符,例如構造一個Date對象爲: new Date()   這個表達式構造了一個新的對象。

(4)一般但願構造的對象能夠屢次構造。

(5)一個對象變量並無實際包含一個對象,而僅僅應用一個對象。任何對象變量的值都是對存儲在另外一個地方的一個對象的引用。

          5.用戶自定義類:

(1)類的定義包括聲明和類體,而類體又包括實體域定義和方法定義;

(2)域是指咱們常說的字段,或者說是屬性。包括實例域和局部變量;

(3)實例的隱藏性:實例域域局部變量的名字相同時,實例域的名字被隱藏。

    6.靜態域域靜態方法:

(1) 靜態域:屬於類不屬於任何獨立的對象。

(2) 靜態常量:在Java中比較經常使用的靜態常量是System.out。

(3) 靜態方法:靜態方法是一種不能對對象試試操做的方法。能夠認爲靜態方法是沒有this參數的方法。

(4) Main方法:不須要使用對象調用靜態方法。Main方法不對任何對象進行操做。靜態的main方法將執行並建立程序所須要的對象。

          7.方法參數:

   Java程序設計語言老是採用按值調用,也就是說,方法獲得的是全部參數值的一個拷貝,特別是,方法不能修改傳遞給它的任何參數變量的內容。

Swap方法的參數X和Y被初始化爲兩個對象引用的拷貝。

          8.對象構造

(1)重載:若是多個方法有相同的名字,不一樣的參數,便產生了重載。編譯器必須挑選出具體執行哪一個方法,它經過用各個方法給出的參數類型與特定方法調用所使用的值類型進行匹配來挑選相應的方法。若是編譯器找不到相應的參數,就會產生編譯錯誤。       

    9.包:Java容許使用包將類組織起來。標準的Java包具備一個層次結構。使用包的小狐妖緣由是確保類名的惟一性。嵌套的包間沒有任何的聯繫性。

(1)類的導入:第一種方式是在每一個類名以前添加完整的包名。(可使用import語句導入特定的類或者整個包)

(2)能夠導入一個包中特定的類。

(3)Import語句不只能夠導入類,還增長了導入靜態方法和靜態域的功能。

(4)將類放入包中

(5)包不是封閉的實體。

(6)類的路徑必須與包名匹配。

(7)註釋的插入   a)包 b)共有類與接口 c)共有的和受保護的構造器的方法 d)共有的和受保護的域

(8)類註釋必須放在import語句以後,類定義以前。

         10.類設計技巧

(1) 必定要保證數據私有

(2) 必定要對數據初始化

(3) 不要在類中使用過多的基本類型

(4) 不是全部的域都須要獨立的域訪問器和域更改器

(5) 將職責過多的類進行分解

(6) 類名和方法名要可以體現出他們的職責

(7) 優先使用不可變的類

第二部分  實驗部分

       實驗三  類與對象的定義和使用

1.實驗的目的與要求

(1) 熟悉PTA平臺線上測試環境;

(2) 理解用戶自定義類的定義;

(3) 掌握對象的聲明;

(4) 學會使用構造函數初始化對象;

(5) 使用類屬性與方法的使用掌握使用;

(6) 掌握package和import語句的用途。

2.實驗的步驟與內容

實驗1 採用我的帳號登陸https://pintia.cn/使用綁定碼620781加入PTA平臺NWNU-2019CST1教學班(西北師範大學 計算機科學與工程學院 2018級計算機科學與技術),完成《2019秋季西北師範大學面向對象程序設計程序設計能力測試1》,測試時間50分鐘。

實驗1.1

公民身份證號碼按照GB11643—1999《公民身份證號碼》國家標準編制,由18位數字組成:前6位爲行政區劃分代碼,第7位至14位爲出生日期碼,第15位至17位爲順序碼,第18位爲校驗碼。從鍵盤輸入1個身份證號,將身份證號的年月日抽取出來,按年-月-日格式輸出。注意:輸入使用Scanner類nextLine()方法,以避免出錯。

輸入樣例:

34080019810819327X

 

輸出樣例:

 

1981-08-19

實驗截圖以下:

                                                   

 

 

實驗2.2

studentfile.txt文件內容是某班同窗的學號與姓名,利用此文件編制一個程序,將studentfile.txt文件的信息讀入到內存,並提供兩類查詢功能:(1)輸入姓名查詢學號;(2)輸入學號查詢姓名。要求程序具備友好人機交互界面。

編程建議:

1)從文件中讀入學生信息,能夠編寫以下函數:

public static void StudentsFromFile(String fileName))

2)輸入姓名查找學生學號,能夠編寫以下函數:

public static String findStudent(String name)

(3)輸入學號查找學生姓名,能夠編寫以下函數:

public static String findStudent(String ID)

運行截圖以下    用泛性列表

                                                       

 

 

 

用對象數組

                                           

 

 

 

實驗2 導入第4章示例程序並測試。

測試程序1

l 編輯、編譯、調試運行程序4-2(教材104頁);

l 結合程序運行結果,掌握類的定義與類對象的用法,並在程序代碼中添加類與對象知識應用的註釋;

l 嘗試在項目中編輯兩個類文件(Employee.java、 EmployeeTest.java ),編譯並運行程序。

l 參考教材104頁EmployeeTest.java,設計StudentTest.java,定義Student類,包含name(姓名)、sex(性別)、javascore(java成績)三個字段,編寫程序,從鍵盤輸入學生人數,輸入學生信息,並按如下表頭輸出學生信息表:

  姓名    性別 java成績

 

截圖以下 emplomee.java

                                          

 

 EmployeeText.java

                                       

 

 按一下表頭輸出信息

 姓名    性別    java成績

                                    

 

 

測試程序2:

l 編輯、編譯、調試運行程序4-3(教材116);

l 結合程序運行結果,理解程序代碼,掌握靜態域(netxtId)與靜態方法(getNextId)的用法,在相關代碼後添加註釋;

l 理解Java單元(類)測試的技巧。

                                    

 

 

測試程序3:

l 編輯、編譯、調試運行程序4-4(教材121);

l 結合程序運行結果,理解程序代碼,掌握Java方法參數的用法,在相關代碼後添加註釋;

                                 

 

 

測試程序4:

l 編輯、編譯、調試運行程序4-5(教材129);

l 結合程序運行結果,理解程序代碼,掌握Java用戶自定義類的用法,掌握對象構造方法及對象使用方法,在相關代碼後添加註釋。

                             

 

 

測試程序5:

l 編輯、編譯、調試運行程序4-六、4-7(教材135);

l 結合程序運行結果,理解程序代碼,掌握Java包的定義及用法,在相關代碼後加註釋;

                                        

 

 

實驗總結

1)經過此次實驗咱們在很大程度上了解了類與對象的概念以及相互關係。通過老師細緻的分析,咱們也比較了Java跟C語言的區別和聯繫,也強化了咱們對C語言知識的理解。

(2)咱們還學習了用戶自定義與使用預約義,學習了對象與對象變量的知識,不過多是剛開始學習偶不少細節的知識還須要咱們去通過大量的實驗好好研究。

(3)在實驗過程當中我有好幾回出現運行錯誤的狀況,大多問題都是出如今不注意細節,之後必定會增強練習。

相關文章
相關標籤/搜索