物件導向的概念總結

2022-06-30 16:36:11 字數 1976 閱讀 3649

物件導向程式設計定義以及類定義的過程還有幾個強調的點要注意。

'''面向過程程式設計:

核心是過程二字,過程指的是解決問題的步驟,即想幹什麼再幹什麼後幹什麼。。。

基於該思想編寫程式就好比在設計一條流水線,是一種機械式的思維方式

優點:複雜的問題流程化、進而簡單化

缺點:可擴充套件性差

物件導向程式設計:

核心是物件二字,物件是特徵與技能的結合體

基於該思想在編寫程式就好比在創造乙個世界,世界萬物都是物件,你就是這個世界的上帝

物件是特徵與技能的結合體,類就是一系列物件相似的特徵與技能的結合體

站在不同的角度,總結出的類是截然不同的

在現實世界中一定是先有的乙個個具體存在的物件,然後隨著人類文明地發展而總結出了不同的類

在程式中務必保證先定義類,後呼叫類來產生物件

現實世界中總結物件-----》抽取相似之處,得到現實世界中的類---》定義為程式中的類-----》呼叫類,產生程式中的物件

站在老男孩選課系統的角度:

現實世界中的老男孩學生物件:

物件1:

特徵:學校='oldboy'

姓名='耗哥'

年齡=18

性別='male'

技能:選課

物件2:

特徵:學校='oldboy'

姓名='豬哥'

年齡=17

性別='male'

技能:選課

物件3:

特徵:學校='oldboy'

姓名='帥翔'

年齡=19

性別='female'

技能:選課

站在老男孩選課系統的角度,先總結現實世界中的老男孩學生類

老男孩學生類:

相似的特徵:

學校='oldboy'

相似的技能

選課'''

#1、先定義類

class oldboystudent:

school='oldboy'

def choose_course(self):

print('is choosing course')

#強調:類定義階段會立刻執行類體**,會產生類的命名空間,將類體**執行過程中產生的名字都丟進去

print(oldboystudent.__dict__)

# 類本質就是乙個命名空間/容器,從類的命名空間中增/刪/改/查名字

# python為我們提供專門訪問屬性(命名空間中的名字)的語法,點後的都是屬性

oldboystudent.school #oldboystudent.__dict__['school']

oldboystudent.x=1 #oldboystudent.__dict__['x']=1

oldboystudent.school='oldboy' #oldboystudent.__dict__['school']='oldboy'

del oldboystudent.x #del oldboystudent.__dict__['x']

# 類中定義的函式是類的函式屬性,類可以使用,但使用的就是乙個普通的函式而已,意味著需要完全遵循函式的引數規則,該傳幾個值就傳幾個

oldboystudent.choose_course(123)

#2、後呼叫類產生物件,呼叫類的過程稱之為例項化,例項化的結果稱為類的乙個例項或者物件

stu1=oldboystudent()

stu2=oldboystudent()

stu3=oldboystudent()

print(stu1)

print(stu2)

print(stu3)

print(oldboystudent.school)

oldboystudent.school='oldboy'

print(stu1.school)

print(stu2.school)

print(stu3.school)

物件導向概念總結

1 物件和封裝 1.1構造方法的作用 例項化物件並完成屬性的初始化。系統會提供乙個預設無參的構造方法。public 類名 1.2什麼是構造方法?語法訪問修飾符 類名 引數列表 特點 1 方法名與類名相同 2 不能有返回值,不能用void 3 修飾符一般是public 1.3this關鍵字 this ...

物件導向的概念

物件導向 他是乙個變成思路,不會改變我們預期的效果 優點 使用物件導向,會讓 的復用性大大提高,便於迭代 特徵 封裝 多肽 繼承 抽象 例 面向過程 小花去餐廳點餐吃飯 物件導向 小花 去 吃 餐廳 點餐 小花.去 餐廳.點餐 小花.吃 建立物件的方法 字面量let obj 通過建構函式和new 結...

物件導向的概念

之前我們已經說過很多次 物件導向 這個詞了,相信大家這會兒對它應該有點熟悉但更多還是陌生吧。實際上,物件導向是我們比較熟悉的一種方式,或者說,物件導向是一種更加接近我們日常思考方式的一種程式設計思想。在物件導向出現之前,使用比較多的是面向過程的程式設計思想。面向過程就是將乙個任務拆分成若干個小任務,...