要理解物件導向,我們首先要知道什麼是面向過程
面向過程:
面向過程重點在過程兩個字,神馬是過程,這還要解釋嗎?我還是說下吧,過程就是一條線,乙個步驟跟著乙個步驟,更生動點的說就是像工廠裡面的流水線一樣。
它的優點是很明顯的,乙個流程乙個流程的走,對於一些不需要太多修改的程式很簡單,它能把複雜的問題簡單化。
而它的缺點也是很明顯的,缺少靈活性,即一套流水線的作業只能適合於去解決一類問題。
說了面向過程,那麼物件導向和它有什麼區別呢?為什麼會產生物件導向?我們怎麼去使用物件導向來進行程式設計?
物件導向的核心自然是物件,什麼是物件?答曰:萬物皆物件。解釋完畢。哈哈,這樣說卻是是夠籠統的啊,我們細化的說,物件就是現實生活中每乙個具體的東西,我們能通過一些描述性的語言把它標識出來,這就是乙個乙個的物件,例如乙個人。而眾多有相同特徵的物件又可以歸為一類,例如人類。
物件導向程式設計,就是把現實中的物件對應到我們的程式中去,這是一種很偉大的思想,我們在程式中寫好每乙個類,然後通過類產生乙個乙個的物件。
可以看如下現實物件與程式中物件的對應關係:
現實中的物件
python 中的物件
通過總結現實中所有物件共有的特徵而得出相應得類
首先定義類,然後由類產生物件,類定義的屬性和方法是通過對所要處理問題的抽象
特徵屬性
行為方法
生育繼承
活生生的人
指向記憶體的一塊空間
區別:說了這些,我們可以看出它和面向過程的主要區別就是關注點不同,就好比你去跑步,面向過程只關注你怎麼跑,而物件導向則關注的是跑步的人。面向過程的思維方式是分析綜合,物件導向的思維方式是構造。
為什麼會產生物件導向:我覺得主要是面向過程的擴充套件性差,而物件導向的擴充套件性很好,而當前很多軟體的需求是經常性的變化的。
怎麼使用物件導向程式設計:
這裡簡單大概的說一下,使用乙個物件首先要定義乙個類,類名要大寫,然後通過類加括號,加或不加引數就可以產生乙個又乙個物件了。物件的初始化方法在每個類產生物件的時候被呼叫。類裡面定義的方法的self引數指向建立的物件。
python基礎 day24 物件導向 封裝
1 命名空間 例項變數 2 組合 1 封裝 class a pass class b a pass b繼承a a是父類 基類,超類 b是子類 派生類 print 吃老爸的 def drink self print 喝水 def sleep self print 睡覺 class cat base d...
執行緒狀態 Day24
執行緒狀態概述 timed waiting在api中的描述為 乙個正在限時等待另乙個執行緒執行乙個 喚醒 動作的執行緒處於這一狀態 在我們寫賣票的案例中,為了減少執行緒執行太快,現象不明顯等問題,我們在run方法中新增了sleep語句,這樣就 強制當前正在執行的執行緒休眠 暫停執行 以 減慢執行緒 ...
day24 學習總結
構造方法 date d new date string類和date類的轉換,通過dateformat類來實現轉換 dateformat為抽象類,需要通過其具體的子類來建立物件 dateformat類 構造方法 public dateformat 無參構造 public dateformat stri...