一、面向對象(OOP) 面向過程 面向過程就是分析出解決問題的所需要的步驟,然後每個步驟使用函數實現,使用時將函數依次調用即可 C語言 面向對象 對象:生活中真實存在的事物(電腦、手機、草、樹......) 面向對象是把構成問題的事物分解成各個對象,建立對象的目的不是完成步驟,而是為了描述某個對象在 ...
一、面向對象(OOP)
面向過程
面向過程就是分析出解決問題的所需要的步驟,然後每個步驟使用函數實現,使用時將函數依次調用即可
C語言
面向對象
對象:生活中真實存在的事物(電腦、手機、草、樹......)
面向對象是把構成問題的事物分解成各個對象,建立對象的目的不是完成步驟,而是為了描述某個對象在整個解決問題的步驟中的行為(功能)
c# java
洗衣服:
面向過程:
1、打開洗衣機蓋子
2、把衣服放進去
3、導入洗衣粉
4、點擊開始
5、晾衣服
6.....
面向對象:
衣服(被洗)、洗衣機(洗)、洗衣粉(去漬)
汽車:
面向過程:
1、如何啟動
2、如何加速
3、如何剎車
面向對象:
1、關係是否有啟動、加速、剎車等功能
區別:
面向過程:看重的每個步驟的具體實現,更註重細節
面向對象:看中對象有什麼功能,不關係每個功能的具體實現
二、面向對象的特征
封裝、繼承、多態、抽象
三、類和對象
類:類型,人類,電腦類,飛機類,汽車類,動物類.....
人類:
特點:兩手兩腳、一個腦袋、一對眼睛、能走、能吃、能睡、能學習、能工作....
凡是具備以上特點的事物,就可以稱為人類,而那個事物就是編程中的對象,比如:你們
對象:有屬性和行為的事物稱為對象
類:具有相同屬性和行為的事物的集合稱為類
問題:類是一個具體的事物嗎?不是,類只是一個抽象的概念
類的體現是對象
類是對象的抽象,對象是類的具體
當一個類不足以描述一個對象時,該類是抽象類,比如:圖形
問題:類是對象的模板嗎?是,比如:模具
面向對象的主要特點,設計:類
四、類的定義
修飾符 class 類名
{
類成員:屬性和方法
}
修飾符:
public:公共的,訪問沒有許可權限制
internal:內部的,自己所在的程式集可以訪問
註意:當我們沒有顯示的指定修飾符,預設internal
屬性:變數、常量
方法:
訪問修飾符 返回類型 方法名(參數列表)
{
}
實例化對象:
類名 對象名 = new 類名();
對象名.屬性;
對象名.方法();
成員變數和成員方法的修飾符:
public:公共的,訪問沒有限制
internal:內部的,自己所在的程式集可以訪問
protected:受保護的,自己所在的類和其子類能訪問(繼承)
private:私有的,自己能訪問
註意:
如果不顯示聲明修飾符,預設private
許可權大小:public > internal > protected > private
通常:類使用public、成員變數使用private、成員方法使用public
命名規範:
1、類名大寫開頭
2、類中成員變數小寫開頭
3、類中方法名大小開頭
五、封裝
生活中:快遞、電腦、空調....看不到內部的具體實現,對外提供介面、按鈕,用戶不關心內部的具體實現,知道怎麼用就行
程式中:成員變數使用private修飾,提供屬性聲明
屬性聲明:
修飾符 數據類型 屬性名
{
get{return 屬性}
set{屬性=value}
}
通常是提供給外界類使用,常常使用public修飾
為了安全性