面向對象編程

////////////////////////////////////
////////////////////////////////////
////////////////////
面向對象編程

面向對象的概念
定義
指一種程序設計的範型
大幅度提升軟件項目的成功率
下降維護費
提升可移植性和可靠性

面向對象的三個主要特徵
封裝性
多態性
繼承性

面向對象和麪向過程的差異
面向過程
強調的是功能行爲
關注的是解決這個問題需要哪些步驟
面向對象
將功能封裝進對象,強調了具有功能的對象
關注的是解決這個問題需要那些對象
面向對象是基於面向過程的


類和對象
OC中描寫敘述事物經過類的形式實現,類是多個同種類型事物的抽象
好比1:施工圖紙,可以看做是房子的類
張三的房子(對象1)李四的房子(對象2)
好比2:汽車圖紙,可以看做是類
依照圖紙生產的汽車(對象)
好比:學籍系統:學生類和學生張3、李四之間的關係
所有的學生都有姓名、年齡、班級等信息
咱們也可以改動學生的姓名、年齡、班級信息
因此可以把學生的姓名、年齡、班級抽象——學生類的屬性
把對學生姓名、年齡、班級的改動和實現——抽象成學生類的方法
把學生張3、李四——學生類對象
類通過實例化以後——對象
(1)類和對象之間的關係 
類有三部分組成
類的名稱:類名
類的屬性:一組包括數據的屬性
類的方法:贊成對屬性中包括的數據進行操做的方法
對象:(Object)
是系統中基本執行的實體
對象是類類型的變量
定義了一個類,就可以建立這個類的多個對象
一個類就是具備一樣類型的對象的抽象
好比:
人的類設計:僅僅關心3樣東西
事物名稱(類名):人(person)
屬性:身高(height)年齡(age)
行爲(功能):跑(run)、打架(fight)
 
     
好比:芒果、蘋果和桔子都是Fruit類的對象
(2)怎樣把平常生活中的事物抽象成程序中的類
擁有一樣(或者相似)屬性和行爲的對象都可以抽象出一個類
方法:通常名詞都是類(名詞提煉法)
坦克發射3顆炮彈轟掉了2架飛機
坦克類 炮彈類 飛機類
 
     
小明在公交車上牽着一條叼着熱狗的狗
      
      
      
      
人的類 公交類 熱狗類 狗
試着將如下的畫面中的事物抽象成類

瑪麗
子彈
牆體
怪獸
圖片
箱子(棕色、黃色)沒寫出來緣由:把牆和箱子看作一個類
 
     

憤慨的小鳥編程

	
石頭
木板
小鳥
圖片
      
      
      
      

植物大戰殭屍 ui

植物
殭屍
太陽
子彈
小車
圖片	
 
     
團購:
商品
			
      
      
      
      

思考&實現1: spa

1)試着將如下的實體抽象成類(注意類包含:類名、屬性、方法)
老師:
類名:Teacher
屬性:姓名、年齡、教齡、所教的課程、工資
行爲:上課、批改做業、考試
殭屍:
類名:Walking_dead
屬性:攻擊力 血量
行爲:跳、吸血
電腦
類名:computer
屬性:生產商、型號、cpu、內存、顯卡...
行爲:上網、看電影、看視頻
學生
類名:Student
屬性:學號、姓名、成績、職務
行爲:翹課 、談戀愛、打遊戲
書本:
類名:Book
屬性:出版社、重量、頁碼、做者
行爲:閱讀
相關文章
相關標籤/搜索