1. 程式人生 > >Android專案中實體類entity的作用

Android專案中實體類entity的作用

估計很多入門安卓的朋友對entity很困惑,為什麼要寫實體類?有什麼用?寫來幹什麼?
對於實體類的理解我入門的時候也是困惑了好久,後面用多了才慢慢理解,這篇部落格就當複習和筆記。

Java中entity(實體類)的寫法規範

在日常的Java專案開發中,entity(實體類)是必不可少的,它們一般都有很多的屬性,並有相應的setter和getter方法。entity(實體類)的作用一般是和資料表做對映。所以快速寫出規範的entity(實體類)是java開發中一項必不可少的技能。

在專案中寫實體類一般遵循下面的規範:
  1、根據你的設計,定義一組你需要的私有屬性。
  2、根據這些屬性,建立它們的setter和getter方法。(eclipse等IDE可以自動生成。具體怎麼生成?請自行百度。)
  3、提供帶引數的構造器和無引數的構造器。
  4、重寫父類中的eauals()方法和hashcode()方法。(如果需要涉及到兩個物件之間的比較,這兩個功能很重要。)

對Java實體類的眾多理解:

A .就是屬性類,通常定義在model層裡面

B. 一般的實體類對應一個數據表,其中的屬性對應資料表中的欄位。

  好處:
  1.對物件實體的封裝,體現OO思想。
  2.屬性可以對欄位定義和狀態進行判斷和過濾
  3.把相關資訊用一個實體類封裝後,我們在程式中可以把實體類作為引數傳遞,更加方便。
C. 說白了就是為了讓程式設計師在對資料庫操作的時候不用寫SQL語句

D. 就是一個數據庫表生成一個類
  這樣做對資料庫操作起來方便
  編寫程式碼較少 提高效率 可以使程式設計師專注邏輯關係

E. 實體類就是把對某一個表的操作全寫在一個類中.

F. 在Java開發中經常要定義一些實體類,這些類的定義的好壞會直接影響,編寫程式碼的質量和難易程度,以  下是別人總結的一些經驗。
  一、實體類的名字儘量和資料庫的表的名字對應相同。

  二、實體類應該實現java.io.Serializable介面。

  三、實體類應該有個無參的構造方法。

  四、實體類應該有個有參(所有的引數)的構造方法。

  五、實體類有屬性和方法,屬性對應資料庫中表的欄位,主要有getter和setter方法。

  六、實體類還應該有個屬性serialVersionUID。例如:private static final long serialVersionUID = -6125297654796395674L;

  七、屬性一般是private型別,方法位public型別,對於資料庫自動生成的ID欄位對應的屬性的set方法應為private。

G. 實體類中都是例項物件,例項物件在jvm的堆區中開闢了一個該物件引用空間,並且讓該引用指向某個例項,類宣告只是在jvm的棧去中開闢了一個該物件引用,沒有讓該引用做任何指向.
  例如 :
  1.String str;
  2.String str = new String (“dgfgg”);
  1中的只是一個引用,說明str應該指向一個String 型別的例項,但還沒對str和堆區的例項做具體的指向.也就是說它還沒有指向某個例項.
  而2中的即定義了一個引用(str)又對str做了具體的指向,它指向的內容就是後面new出來的String 例項.

實體類中的構造方法+set方法+get方法:
建構函式:初始化成員變數

get,set方法,獲取和改變成員變數的值,JavaBean規範規定只使用get/set訪問成員變數

建構函式:你每次寫一個Java檔案,實際上都寫了一個類(建立一個類,jvm就會自動為這個類開闢一塊記憶體空間)。有了類就需要有類物件,要產生類物件就需要建構函式對這個剛剛申請的記憶體空間做一點事,賦屬性值之類的工作。當然,如果你不寫,它就預設有一個Class(){}的構造方法出現,當然它什麼活也不幹。

你的屬性是什麼樣的?public?private?預設?還是protected?這四種你找教材務必弄懂分清,很有用。如果是private,這種屬性不許別的物件改和讀,但有時候需要改/讀,怎麼辦?寫一個public void setAbc(xxx){}和一個public xxx getAbc(){}就實現外部讀寫屬性的功能了。

set ,get完全是自我規定的,就是設定初值和獲得值的意思.你也可以修改成其他字元.但是用set ,get還是要好些,因為你能通過單詞理解你寫的程式碼的意思,方便閱讀而已。

總結:實體是就是Java中的O/R Mapping對映,即資料庫中的一個表對映成對應的一個Java類,其中還有一個對映檔案。給定一個較複雜的實體關係(如一對一,一對多,多對多),應該熟練地寫出實體類!!