物件導向程式設計 類和物件的概念

2021-08-21 20:57:18 字數 2126 閱讀 6869

1.(了解) 物件導向  vs 面向過程   例子:人開門;把大象裝冰箱

2.物件導向的程式設計關注於類的設計!

1)乙個專案或工程,不管多龐大,一定是有乙個乙個類構成的。

2)類是抽象的,好比是製造汽車的圖紙。

而具體的一輛一輛的車,是根據圖紙製造的,實際上就是類的例項化

3.完成乙個專案(或功能)的思路

1)所要完成的功能對應的類的物件是否存在。

2)若存在,則通過物件直接呼叫對應的類中的屬性或方法即可

3)若不存在,需要建立類的物件。甚至說,類都不存在,就需要設計類。

4.物件導向程式設計的三條主線:

1)類及類的構成成分:屬性  方法 構造器  **塊 內部類

2)物件導向程式設計的特徵:封裝性  繼承性 多型性  (抽象性)

3)其它的關鍵字:this super package import static final abstract inte***ce ...

1.關於於類的設計

2.類的組成成分:

1) 屬性(成員變數,field)

2)方法(成員方法,函式,method)

2.1屬性:

*   成員變數 vs 區域性變數

*   相同點:1.遵循變數宣告的格式: 資料型別 變數名 = 初始化值

*          2.都有作用域

*   不同點:1.宣告的位置的不同 :成員變數:宣告在類裡,方法外

*                           區域性變數:宣告在方法內,方法的形參部分,**塊內

*         2.成員變數的修飾符有四個:public private protected 預設

*           區域性變數沒有修飾符,與所在的方法修飾符相同。

*         3.初始化值:一定會有初始化值。

*             成員變數:如果在宣告的時候,不顯式的賦值,那麼不同資料型別會有不同的預設初始化值。

*            byte short int long ==>0

*            float double ==>0.0

*            char ==>空格

*            boolean ==>false 

*            引用型別變數==>null

*          區域性變數:一定要顯式的賦值。(區域性變數沒有預設初始化值)

*         4.二者在記憶體中存放的位置不同:成員變數存在於堆空間中;區域性變數:棧空間中

*         

* 總結:關於變數的分類:1)按照資料型別的不同:基本資料型別(8種)  & 引用資料型別

*                    2)按照宣告的位置的不同:成員變數 & 區域性變數

2.2 方法:提供某種功能的實現

*    1)例項:public void eat()

*           public string getname(){}

*           public void setname(string n){}

*      格式:許可權修飾符 返回值型別(void:無返回值/具體的返回值) 方法名(形參){}

*      

*    2)關於返回值型別:void:表明此方法不需要返回值

*                   有返回值的方法:在方法的最後一定有return + 返回值型別對應的變數

*       記憶:void 與return不可以同時出現乙個方法內。像一對「冤家」。

* *       3)方法內可以呼叫本類的其他方法或屬性,但是不能在方法內再定義方法!

3.物件導向程式設計的思想的落地法則一:

1)設計並建立類及類的成分

2)例項化類的物件

3)通過「物件.屬性」或"物件.方法"的形式完成某項功能

4.類的初始化的記憶體解析

4.1  記憶體劃分的結構:

棧(stack):區域性變數 、物件的引用名、陣列的引用名

堆(heap):new 出來的「東西」(如:物件的實體,陣列的實體),含成員變數

方法區:含字串常量

靜態域:宣告為static的變數

4.2 理解的基礎上,學會基本的建立的類的物件在記憶體中的執行。

物件導向的概念和類和物件的概念

es6中的物件導向是和其他語言基本比較相似 js正常來說是基於物件語言 很多程式都是基於物件開發 不是物件導向 但是在es6中 我們引入了其他語言中的物件導向 面向過程就是 你需要什麼 寫什麼 物件導向 他就是 你直接封裝好乙個功能 需要的時候 在 呼叫 物件導向的好處 1.避免 冗餘 2.便於後期...

物件導向程式設計和類

class product def init self,name self.name name self.label price 0 self.real price 0 c product 電腦 d product 印表機 e product 投影儀 c.label price,c.real pri...

物件導向程式設計的概念

物件和物件導向的概念 萬物皆物件 物件導向指以屬性和行為的觀點去分析現實生活中的事物 物件導向程式設計指先以物件導向的思想進行分析,然後使用物件導向的程式語言進行表達的過程 物件導向程式設計是軟體產業化發展的需要 理解物件導向的思想精髓 封裝 繼承 多型 至少掌握一種程式語言 類和物件的概念 物件主...