類和對象是面向對象編程的兩個核心概念。
類是對一群具有相同特征或者行為的事物的一個統稱,是抽象的,不能直接使用
類就相當於制造飛機時的圖紙,是一個模板,是負責創建對象的,這張圖紙並不能讓飛機起飛,得先制造出飛機有駕駛員條件。
對象是由類創建出來的一個具體的存在,可以直接使用。
由哪一個類創建出來的對象,就擁有在哪一個類中定義的屬性和方法。
在程序開發中,應該先有類,再有對象。
對象就相當於用圖紙制造的飛機。一句話就是可以把類看做是圖紙,把對象看做是圖紙制造出來的飛機。
二、類和對象的關系
類是模板,對象是根據類這個模板創建出來的,應該先有類再有對象。
類只有一個,而對象可以有很多個。
不同的對象之間屬性可能會各不相同。
類中定義了什麼屬性和方法,對象中就有什麼屬性和方法,不可能多,也不可能少。
以上就是面向對象編程中連個核心的概念,一個是類一個是對象。一句話講類的職責很單一就是負責創建對象的,在類中定義一下創建出來的對象具有什麼樣的屬性和方法。當有了類之後我們就可以用類來創建出很多對象,當對象創建出之後就可以用對象來調用在類中的方法,並且設置在類中的屬性。
都知道面向對象開發出來的程序最終結果是不同的對象調用不同的方法。在面向對象中想要創建出對象,得先有類,那類是怎麼樣設計出來的?下面開始慢慢說明。
在使用面向對象開發前,應該首先分析需求,確定一下程序中需要包含哪些類。
比如下面的植物大戰僵屍游戲中,要設置向日葵類,豌豆射手類等等很多類。
在程序開發中,要設計一個類,通常需要滿足以下三個要素:
大駝峰命名法:CapWords
每一個單詞的首字母大寫,單詞與單詞之間沒有下劃線
名詞提煉法,分析整個業務流程出現的名詞,通常就是要找到的類。
對對象的特征描述,通常可以定義為屬性。
對象具有的行為(動詞),通常可以定義為方法。
提示:需求中沒有涉及的屬性或者方法在設計類時,不需要考慮
練習1:
需求:
小明今年20歲,身高180cm,每天早上跑完步,會去吃東西
小菜今年18歲,身高165cm,小菜不跑步,小菜喜歡吃東西
解答:設計一個人類,屬性包含名字、年齡、身高,行為包含跑和吃,再創建兩個不同的對象。
練習2:
需求:
一只黃色的狗狗叫大黃
見到生人 汪汪叫
見到家人 搖尾巴
解答:設計一個狗的類,屬性是名字和厭惡,行為是汪汪叫和搖尾巴。