物件導向程式設計定義以及類定義的過程還有幾個強調的點要注意。'''面向過程程式設計:
核心是過程二字,過程指的是解決問題的步驟,即想幹什麼再幹什麼後幹什麼。。。
基於該思想編寫程式就好比在設計一條流水線,是一種機械式的思維方式
優點:複雜的問題流程化、進而簡單化
缺點:可擴充套件性差
物件導向程式設計:
核心是物件二字,物件是特徵與技能的結合體
基於該思想在編寫程式就好比在創造乙個世界,世界萬物都是物件,你就是這個世界的上帝
物件是特徵與技能的結合體,類就是一系列物件相似的特徵與技能的結合體
站在不同的角度,總結出的類是截然不同的
在現實世界中一定是先有的乙個個具體存在的物件,然後隨著人類文明地發展而總結出了不同的類
在程式中務必保證先定義類,後呼叫類來產生物件
現實世界中總結物件-----》抽取相似之處,得到現實世界中的類---》定義為程式中的類-----》呼叫類,產生程式中的物件
站在老男孩選課系統的角度:
現實世界中的老男孩學生物件:
物件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 結...
物件導向的概念
之前我們已經說過很多次 物件導向 這個詞了,相信大家這會兒對它應該有點熟悉但更多還是陌生吧。實際上,物件導向是我們比較熟悉的一種方式,或者說,物件導向是一種更加接近我們日常思考方式的一種程式設計思想。在物件導向出現之前,使用比較多的是面向過程的程式設計思想。面向過程就是將乙個任務拆分成若干個小任務,...