靜態與非靜態的區別
(1)在非靜態類中既可以有例項成員,也可以有靜態成員(static修飾)。
(2)在呼叫靜態成員的時候要使用:物件名.例項成員。
(3)在呼叫靜態成員的時候要使用:類名.靜態成員。
總結:靜態成員使用類名去呼叫,非靜態成員使用物件名去呼叫。靜態函式中只能訪問靜態成員,不允許訪問例項成員 (靜靜),例項函式中既可以使用靜態成員,也可以是例項成員。
靜態類中只允許有靜態成員,不允許出現例項成員。
使用:什麼時候使用靜態,什麼時候使用非靜態
(1)把類當成「工具類」去使用,考慮寫成靜態類 例如:console類
(2)靜態類在整個專案中資源共享---------佔記憶體,,,,只有程式全部結束後,靜態類才會釋放資源。
非靜態建立物件並賦值(逐一賦值)會造成**冗餘,所以產生建構函式來賦值
建構函式:
作用:初始化物件(給物件的每個屬性依次賦值),建構函式是乙個特殊的方法。
(1)建構函式沒有返回值,沒有void
(2)建構函式名稱必須和類名一樣。
語法:public 類名(引數)
屬性賦值;
建立物件時呼叫建構函式 關鍵字new
new關鍵字做了三件事:
(1)在記憶體中開闢了一塊空間。
(2)在開闢的空間建立物件。
(3)呼叫物件的建構函式進行初始化物件。
類當中預設有乙個無參的建構函式 ,預設的建構函式會被我們新建的構造方法覆蓋
無參的建構函式:public 類名()
有參的建構函式:public 類名(引數)
賦值;在建立物件時(new)傳參 n=new 類名(實參)
當類中已有過載的建構函式時,需要無參的建構函式需重新寫無參建構函式。
this關鍵字:
作用:(1)表示當前類的物件
(2)呼叫本類當中的建構函式(過載中不全引數的建構函式去呼叫全參的建構函式)
語法::this()
例如:public student(部分引數):this(全部引數值)
析構函式:~類名(){}
作用:當程式結束的時候,析構函式才執行 -----------》釋放資源
Python基礎 物件導向 3
說明 呼叫不同子類物件相同父類方法。步驟 定義父類,並提供公共方法 定義子類,子類中重寫父類方法 傳遞子類給呼叫者,可以看到子類執行效果不同 class 復仇者聯盟 defmethod self 定義父類 並提供公共方法 print 打滅霸 class 鋼鐵俠 復仇者聯盟 子類重寫父類同名的方法 d...
c 物件導向基礎
物件導向程式設計一般分為兩個檔案,標頭檔案和原始檔,例如乙個person 類,分為person.h和person.cpp person.h中有類,函式的宣告 pragma once 該檔案不會被編譯多次 include 引入string include person.h using namespac...
c 物件導向基礎
物件導向是一種負荷人類思維習慣的變成思維。物件導向的思想有三大特徵 封裝性,繼承性和多型性。前兩個特徵比較好理解,多型性說白了就是子類重複父類的虛函式。類與物件 類是對某一類事物的抽象描述,物件用於表示現實中該類事物的個體。物件導向的思想中最核心的就是物件,為了在程式中建立物件,首先需要定義乙個類。...