欄位和屬性:
(1)通常字段修飾符為private,屬性修飾符為public.
(2)字段
a.欄位又稱為:「成員變數」,一般在類的內部做資料互動使用。
b.欄位命名規範:camel命名法(首單詞字母小寫)。
舉個例子:在建築中,你的房子裡面的東西一般都是私有的,屬於你個人的。所有欄位的修飾符是private修飾。
(3)屬性
作用:在物件導向設計中主要使用屬性描述物件的靜態特徵。
要求:一般採用pascal命名法(首字母大寫),資料型別和對應的字段要一致。
理解:屬性其實就是外界訪問私有欄位的入口,屬性本身不儲存任何資料,在對屬性賦值和讀取的時候其實就是操作的對應私有字段。
本質:屬性本質其實就是乙個方法,通過get和set方法來操作對應的字段。
作用:a. 避免出現非法資料,例如乙個年齡屬性,正常邏輯是年齡是不可以出現負數的,如果使用者對年齡進行了負數賦值,我們通過屬性set方法加入判斷邏輯,從而排除這種非法資料。
b.限定屬性唯讀或者只寫。例如有些屬性為了保護資料,我們只能讀取,而不能賦值。具體使用的話,我們根據需要,遮蔽set或get方法達到唯讀和只寫。
c.沒有對應私有欄位的屬性,例如根據生日屬性獲取到年齡。
建構函式和方法:
(1)建構函式主要是用來建立物件時為物件賦初值來初始化物件。總與new運算子一起使用在建立物件的語句中。a a =new a();
(2)建構函式具有和類一樣的名稱;但它是乙個函式具有函式的所有特性,同乙個類裡面可以有多個引數不同的建構函式,也就是函式的多型。
(3)建構函式是在例項化時最先執行的方法,通過這個特性可以給物件賦初值。
(4)建構函式沒有返回值,也不能用void修飾,只有訪問修飾符。
(5)建構函式,目的適用於初始化類。比如你定義了乙個類aclass a那麼建構函式寫法就是public a()//括號內可以有引數
注意:乙個類可以有多個建構函式,可根據其引數個數的不同或引數型別的不同來區分它們 即建構函式的過載。每次都用類a時,比如a a = new a();
如果前面定義的建構函式有引數,那這裡必須傳參建構函式不能被直接呼叫,必須通過new運算子在建立物件時才會自動呼叫:而一般的方法是在程式執行到它的時候被呼叫;每次例項化乙個類時,就會呼叫建構函式。
物件導向 字段 屬性 方法 建構函式
1 屬性 為了保護字段,屬性的本質是兩個方法,乙個是get 另乙個是set 2.靜態和非靜態的區別 在非靜態類中,可以有例項成員,也可以有靜態成員。在呼叫例項成員的時候,需要使用物件名.例項成員。在呼叫靜態成員的時候,需要使用類名.靜態成員名。總結 靜態成員需要用類名去呼叫,例項成員需要用物件名去呼...
物件導向 類 字段 屬性 建構函式 析構函式
物件導向的基本概念 1 物件 物件是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,它不僅能表示具體的事物,還能表示抽象的規則 計畫或事件。2 物件的狀態和行為 物件具有狀態,乙個物件用資料值來描述它的狀態。物件還有操作,用於改變物件的狀態,物件及其操作就是物件的行為。物件實現了...
C 的引用 屬性 建構函式
引用 c 的引用類似於c語言的指標。如 class person person p1,p2 此表示式執行後,系統只是分配了兩個位址來存放這兩個類變數名,並沒有分配長度為int string大小的空間 p1 new person p1.age 10 此兩式執行後系統分配了記憶體用以儲存p1.age和p...