物件導向程式設計基礎 乾貨

2022-05-01 10:06:11 字數 2021 閱讀 9874

概念1:物件和類

圖1:物件和類的區別,物件具體到實物,類是一種事物的泛稱。(比如:物件貓、物件狗     ---    對應著動物類)

圖2:物件和類的**塊,類定義了字段、屬性和方法。而物件則定義對應的字段、屬性、方法是什麼。(舉例:類的字段為姓名、性別、年齡、身高以及方法愛好    ---  對應的物件即為小明、男孩、6歲、120cm、踢足球)

圖3:乙個簡單類的實現。

圖4:例項化物件,也就是我們常數的new乙個物件。

概念2:方法

1.方法是物件的動態行為,使用方法分為兩個過程:定義方法+呼叫方法。

2.方法又分為無參方法 () 和有參方法 ("引數") 。無參方法一般呼叫以後就一種動態行為,例如打人的無參方法就是打人;但是有參方法可以根據不同的引數輸入,輸出不同的動態行為,比如打人的有參方法可以選擇輕打、重打或者打死,哈哈。

3.方法的宣告是在類中,方法的呼叫可以在類外面。

4.方法的過載:過載僅針對有參方法,也就是說,對同一種方法,輸入不同的引數,得到不同的結果。如下圖:同一種方法eatsugar可以根據不同的引數輸入,呼叫具體的方法。(說乙個概念:下圖中形參即為int count,實參即為我們輸入的數量,例如2)

5.return在方法中的兩個作用:結束方法呼叫+帶回返回值。

概念3:構造方法

1.無參構造方法與有參構造方法。(和上面的普通方法差不多,如果類裡面沒有特意的去宣告乙個構造方法,那麼這個類其實已經預設的存在乙個無參構造方法,當然如果你在類中定義好了乙個構造方法,不管是有參的還是無參的,那麼預設的那個無參構造方法就不存在了)。

2.構造方法的作用:為屬性賦值。

3.構造方法通常宣告為public

4.構造方法的特殊點之一就是沒有返回值型別。(比如int啊什麼的)

5.構造方法必須與類名相同

6.我們通常所說的new乙個物件。其實new後面跟著的就是類的構造方法。

7.建構函式中可以使用this關鍵字,用以訪問當前物件的字段和方法。

8.構造方法也是可以和普通的方法一樣被過載的,具體的實現方法一樣,也是根據輸入引數的不同來區分的。

9.構造方法的初始化器:即在()與;之間加入乙個{},大括號內的即為物件初始化器的內容,但是要與你的有參建構函式所對應。

概念4:值型別與引用型別

1.這個就不說了,記住string和類是引用,結構struct是值型別即可。

2.結構的一點概念:結構可以定義字段、屬性和方法;不能為結構中的字段賦初值;結構的構造方法必須為所有字段賦值;不能為結構顯示的定義無參的構造方法;結構型別的物件可以不例項化。

3.列舉:一定範圍內的東西為了方便操作而搞的,比如一周就7天,性別只有男和女,可以用列舉來搞。他也有三個特點:1.值型別;2.列舉裡面不可以定義字段、屬性和方法;3.列舉值是從0遞增的整數。

4.ref和out關鍵字:ref用來傳參,即當我的引數是值型別的時候,可以用引用型別來傳遞;如下圖我們在呼叫growth函式時,引數使用ref關鍵字,使得該引數可以以引用型別來操作,執行一次得4,如果不使用ref關鍵字,則執行後得3。這也是值型別與引用型別的區別所在,值型別形參改變,實參是不變的,引用型別跟著變。

out用來獲取結果,相比與return來說,return每次只返回乙個結果,如果想返回多個結果,則使用關鍵字out。當然你在呼叫這個函式的時候也需要使用out關鍵字,我沒有截圖,目的也是把值型別當成引用型別來用。

物件導向程式設計基礎

當類中的成員變數與成員方法中的引數重名時,使用this,來使用類中的成員變數 不用的話,就是成員方法中的引數 public class test public static void main string args 123 system.out.println this.name abc無參構造方...

物件導向程式設計基礎

類和物件 類是物件的藍圖和模板,物件是類的例項,物件是具體的東西,具有屬性和行為,每個物件都是獨一無二的,物件一定屬於某個類。當把一大堆具有共同特徵的物件的靜態特徵 屬性 和動態特徵 行為 都抽取出來後,就可以定義 出乙個叫做類的東西。定義類 在python中,用class來定義類,在類中用之前學過...

物件導向程式設計 基礎

特點 類是物件的資料型別 類是具有相同屬性和行為的一組物件的集合 屬性 描述物件特徵的資料 行為 描述物件能進行的操作 public class 類名 成員變數 屬性 成員方法 行為 建立物件 類名 物件名 new 類名 使用物件 使用成員變數 物件名.變數名 使用成員方法 物件名.方法名 引數列表...