1. 程式人生 > >面向物件程式設計基礎

面向物件程式設計基礎

面向物件程式設計

面向物件程式設計:Object Oriented Programming,簡稱OOP,是一種程式設計方法。

面向物件面向過程區別

完成自我介紹功能,面向過程完成功能
stu_a = {
    "name":"A"
    "age":18,
    "hometown":"東北"
}
stu_b = {
    "name":"B"
    "age":19,
    "hometown":"山東"
}
stu_c = {
    "name":"C"
    "age":20,
    "hometown":"河北"
}
def stu_info(stu):
	# 自我介紹
	for key,value in stu.items():
		print("key=%s,value=%d"%(key,value))
stu_info(stu_a)
stu_info(stu_b)
stu_info(stu_c)
接下來我們用面向物件的思想來完成功能
stu_a = Student(個人資訊)
stu_b = Student(個人資訊)
stu_c = Student(個人資訊)
stu_a.info()
stu_b.info()
stu_c.info()

面向過程:根據業務邏輯從上到下寫程式碼

面向物件:講資料與函式繫結到一起,進行封裝。減少重複程式碼的重寫過程

面向物件和麵向過程都是解決問題的一種思路而已。

概念及術語

類(Class): 用來描述具有相同屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。其中的物件被稱作類的例項。
例項:也稱物件。通過類定義的初始化方法,賦予具體的值,成為一個"有血有肉的實體"。
例項化:建立類的例項的過程或操作。
例項變數:定義在例項中的變數,只作用於當前例項。
類變數:類變數是所有例項公有的變數。類變數定義在類中,但在方法體之外。
資料成員:類變數、例項變數、方法、類方法、靜態方法和屬性等的統稱。
方法:類中定義的函式。
靜態方法:不需要例項化就可以由類執行的方法
類方法:類方法是將類本身作為物件進行操作的方法。
方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對父類的方法進行改寫,這個過程也稱override。
封裝:將內部實現包裹起來,對外透明,提供api介面進行呼叫的機制
繼承:即一個派生類(derived class)繼承父類(base class)的變數和方法。
多型:根據物件型別的不同以不同的方式進行處理。