C 學習之物件導向(一)

2021-10-07 10:24:17 字數 1847 閱讀 3734

面向過程:面向的是完成這件事兒的過程,強調的是完成這件事兒的動作。

把大象塞進冰箱裡

1、開啟冰箱門

2、把大象塞進去,親下大象的屁股

3、關閉冰箱門

如果我們用面向過程的思想來解決這件事兒,當執行這件事的人的不同的時候,我們需要為每個不同的人量身定做解決事情的方法。物件導向:找個物件幫你做事兒。

把大象塞進冰箱裡,我們把冰箱作為物件: 

1、冰箱門可以被開啟

2、大象可以被塞進冰箱裡

3、冰箱門可以被關閉

物件導向:意在寫出乙個通用的**,遮蔽差異。

關門面向過程:關門

物件導向:關門

門可以被關閉

在**中描述乙個物件,通過描述這個物件的屬性和方法。

物件必須是看得見摸得著的

燈:屬性和方法

屬性:外形:長的

亮度:500w

顏色:白色

牌子:xx

方法:發光

電風扇:屬性、方法

外形:三個扇葉

顏色:白色

品牌:xx

方法:轉動,扇風

我們把這些具有相同屬性和相同方法的物件進行進一步的封裝,抽象出來 類這個概念。類就是個模子,確定了物件應該具有的屬性和方法。物件是根據類建立出來的。類就是乙個蓋大樓的圖紙 ;物件就是蓋出來的大樓。

語法:[public] class 類名

寫好了乙個類之後,我們需要建立這個類的物件,那麼,我們管建立這個類的物件過程稱之為類的例項化。

使用關鍵字 new。

屬性的作用就是保護字段、對字段的賦值和取值進行限定。屬性的本質就是兩個方法,乙個叫get()乙個叫set()。

既有get()也有set()我們誠之為可讀可寫屬性。

只有get()沒有set()我們稱之為唯讀屬性

沒有get()只有set()我們稱之為只寫屬性

public:公開的公共的,在哪都能訪問。

private:私有的,只能在當前類的內部進行訪問,出了這個類就訪問不到了。

當我們建立好乙個類的物件後,需要給這個物件的每個屬性去賦值。我們管這個過程稱之為物件的初始化。

1)、在非靜態類中,既可以有例項成員,也可以有靜態成員。

2)、在呼叫例項成員的時候,需要使用物件名.例項成員;

在呼叫靜態成員的時候,需要使用類名.靜態成員名;     總結:靜態成員必須使用類名去呼叫,而例項成員使用物件名呼叫。

靜態函式中,只能訪問靜態成員,不允許訪問例項成員。

例項函式中,既可以使用靜態成員,也可以使用例項成員。

靜態類中只允許有靜態成員,不允許出現例項成員。

使用:1)、如果你想要你的類當做乙個"工具類"去使用,這個時候可以考慮將類寫成靜態的。

2)、靜態類在整個專案中資源共享。只有在程式全部結束之後,靜態類才會釋放資源。

作用:幫助我們初始化物件(給物件的每個屬性依次的賦值)

建構函式是乙個特殊的方法:

1)、建構函式沒有返回值,連void也不能寫。

2)、建構函式的名稱必須跟類名一樣。

建立物件的時候會執行建構函式,建構函式是可以有過載的。

類當中會有乙個預設的無引數的建構函式,當你寫乙個新的建構函式之後,不管是有引數的還是

無引數的,那個預設的無引數的建構函式都被乾掉了。

person zsperson=new person();

new幫助我們做了3件事兒:

1)、在記憶體中開闢一塊空間

2)、在開闢的空間中建立物件

3)、呼叫物件的建構函式進行初始化物件

1)、代表當前類的物件

2)、在類當中顯示的呼叫本類的建構函式  :this

this:表示當前這個類的物件。類是不佔記憶體的,而物件是佔記憶體的。

C 學習之物件導向多型(一)

絕對路徑 通過給定的這個路徑直接能在我的電腦中找到這個檔案。相對路徑 檔案相對於應用程式的路徑。結論 我們在開發中應該去盡量的使用相對路徑。裝箱 就是將值型別轉換為引用型別。拆箱 將引用型別轉換為值型別。看兩種型別是否發生了裝箱或者拆箱,要看,這兩種型別是否存在繼承關係。將建立檔案流物件的過程寫在u...

C 學習雜記之 物件導向

1 物件是類的乙個例項 instance 重要的是類的設計而不是物件的設計,類要注重行為的設計而不是資料 的設計,所以類中先public 成員函式。2 繼承與程式復用性的關係 1 b繼承a,則b必須是a的一種 如果b是a的一部分,則不允許b繼承a的功能 2 通過繼承,實現了後來寫的程式可以使用以前寫...

C 學習雜記之 物件導向

1 物件是類的乙個例項 instance 重要的是類的設計而不是物件的設計,類要注重行為的設計而不是資料 的設計,所以類中先public 成員函式。2 繼承與程式復用性的關係 1 b繼承a,則b必須是a的一種 如果b是a的一部分,則不允許b繼承a的功能 2 通過繼承,實現了後來寫的程式可以使用以前寫...