物件導向:
物件導向是一種程式設計思想,是解決問題的一種思路
物件導向,解決問題時關注的不再是解決問題的步驟和過程,而是更加注重是參與解決問題的物件以及他們的行為
優點:
生活還原度高,可以表述生活中所有事物,描述每種型別的事物的特徵和行為,可以解決較為複雜的問題,功能的拓展性高
缺點:
在還原某些場景時,沒有直接去解決問題,而是首先表示這些參與的物件型別,開始編寫**時較為複雜,準備時間較長,功能的穩定性相對不足,物件導向效率要低於面向過程
也是一種程式設計思想,面向過程注重的是解決問題的步驟和過程,最直觀的實現方式就是函式式程式設計,通過定義函式描述步驟,通過函式的呼叫完成過程的執行來解決問題
優點:
思路清晰,過程明確,解決問題的穩定性高
缺點:
功能依賴性太強,擴充套件性差
適用場景:
軟體對於功能的穩定性比較高,對擴充套件性要求不是很高的情況下,可以選擇面向過程
適用案例:
由於面向過程 **和**之間的依賴性太強(耦合度高),所以編寫**的時候必須對**的前後關聯關係非常了解,才能開發較為成熟的軟體
服務類**中的 客服聊天 穩定要求高[中小型軟體或者功能開發
作業系統:對於執行穩定性要求非常高,對於功能的拓展要求不高
兩者解決問題的核心:
面向過程解決問題的核心:解決問題的步驟
將關鍵的步驟封裝成函式,通過函式控制執行流程
物件導向解決問題的核心:參與解決問題的物件
物件導向的最直觀的體現是 類和物件 物件和物件行為的關係
類
將具有共同特徵以及行為的一組物件進行抽象,抽象出來的東西,描述一類事物的概念
物件
實際存在的物體,包含了具體屬性和方法的實體,這個事物是通過類建立建立出來的,屬於乙個類
屬性
就是乙個變數 可以儲存資料 用於描述生活中乙個事物的特徵
比如:人的姓名 年齡 性別
方法
方法就是乙個函式,當函式宣告在類中,就成為方法,描述乙個事物的行為
比如: 人的學習行為 健身行為 玩遊戲的行為....
構造方法
通過指定的類建立物件的方法,通過構造方法可以按照我們的需要來建立對應類的物件
類和物件的關係
類和物件是計算機程式語言中的用於描述事物的載體。它們的關係是,物件是類的例項,類是物件的模板
類和物件的關係:類是物件的載體,物件是類的例項化
類的宣告:class 類名:
類中的**
構造方法:
__new__(cls) 建立物件 new方法必須要有返回值,返回例項出來的例項
__init__(self) 初始化屬性,給物件屬性賦值
建立物件時先呼叫的是new方法而後再呼叫的init方法
new()方法和__init__()方法的作用?
__init__()方法通常用於初始化乙個新的例項,控制這個初始化的過程,比如新增一些屬性,做一些額外操作,屬於例項級別的方法
__new__()方法通常用於控制生成乙個新例項的過程,是類級別的方法
python物件導向基礎 python物件導向基礎
面向過程與物件導向 面向過程的程式設計的核心是過程 流水線式思維 過程即解決問題的步驟,面向過程的設計就好比精心設計好的一條流水線,考慮周全什麼時候處理什麼東西。優點 極大降低了寫程式的複雜度,只需要順著要執行的步驟,堆疊 即可。缺點 一套流水線或者流程就是解決乙個問題,牽一髮而動全身。應用場景 一...
Python之物件導向 物件導向基礎
一 面向過程 物件導向對比 1 面向過程 根據業務邏輯從上到下寫壘 2 函式式思想 將某功能 封裝到函式中,日後便無需重複編寫,僅呼叫函式即可 3 物件導向 對函式進行分類和封裝 1 2 3一步一步抽象,函式式是走向物件導向的中間步驟 函式式的應用場景 各個函式之間是獨立且無共用的資料 物件導向程式...
python物件導向基礎
類是例項的模版,例項是根據類建立的乙個具體物件,每個物件都有相同的方法,但是各自的資料不同。如果要讓內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線 在python中,例項的變數名如果以 開頭,就變成了乙個私有變數 private 只有內部可以訪問,外部不能訪問 當子類和父類都存在相同的run...