1. 程式人生 > 實用技巧 >DP學習筆記——揹包專題(更新中)

DP學習筆記——揹包專題(更新中)

類和物件

面向物件程式設計的2個非常重要的概念:類和物件

物件是面向物件程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外一個新的概念——類

類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件

1. 類

人以類聚 物以群分。
具有相似內部狀態和運動規律的實體的集合(或統稱為抽象)。 
具有相同屬性和行為事物的統稱

類是抽象的,在使用的時候通常會找到這個類的一個具體的存在,使用這個具體的存在。一個類可以找到多個物件

2. 物件

某一個具體事物的存在 ,在現實世界中可以是看得見摸得著的。

可以是直接使用的

3. 類和物件之間的關係

小總結:類就是建立物件的模板

4. 練習:區分類和物件

賓士汽車 類
賓士smart 類 
張三的那輛賓士smart 物件
狗 類
大黃狗 類 
李四家那隻大黃狗 物件 
水果 類
蘋果 類 
紅蘋果 類 紅富士蘋果 類 
我嘴裡吃了一半的蘋果 物件

5. 類的構成

類(Class) 由3個部分構成

  • 類的名稱:類名
  • 類的屬性:一組資料
  • 類的方法:允許對進行操作的方法 (行為)

<1> 舉例:

1)人類設計,只關心3樣東西:

  • 事物名稱(類名):人(Person)
  • 屬性:身高(height)、年齡(age)
  • 方法(行為/功能):跑(run)、打架(fight)

2)狗類的設計

  • 類名:狗(Dog)
  • 屬性:品種 、毛色、性別、名字、 腿兒的數量
  • 方法(行為/功能):叫 、跑、咬人、吃、搖尾巴

6. 類的抽象

如何把日常生活中的事物抽象成程式中的類?

擁有相同(或者類似)屬性和行為的物件都可以抽像出一個類

方法:一般名詞都是類(名詞提煉法)

<1> 坦克發射3顆炮彈轟掉了2架飛機

  • 坦克--》可以抽象成 類
  • 炮彈--》可以抽象成類
  • 飛機-》可以抽象成類

<2> 小明在公車上牽著一條叼著熱狗的狗

  • 小明--》 人類
  • 公車--》 交通工具類
  • 熱狗--》 食物類
  • 狗--》 狗類

<3>【想一想】如下圖中,有哪些類呢?

說明:

  • 子彈
  • 手榴彈
  • 刀子
  • 箱子

<4>【想一想】如下圖中,有哪些類呢?

說明:

  • 向日葵
    • 類名: xrk
    • 屬性:
    • 行為: 放陽光
  • 豌豆
    • 類名: wd
    • 屬性: 顏色 、髮型,血量
    • 行為:發炮, 搖頭
  • 堅果:
    • 類名:jg
    • 屬性:血量 型別
    • 行為:阻擋;
  • 殭屍:
    • 類名:js
    • 屬性:顏色、血量、 型別、速度
    • 行為:走 跑跳 吃 死