物件導向概念總結

xlionsky發表於2020-12-09

0基礎學習,到物件導向這,直接頭大.簡單總結了一下相關概念,這樣就容易理解一些.
就是方法(函式)和變數打包在一起.
例項化就是給類的變數賦予了執行的引數.就可以呼叫他的方法來做事了.__init__就是例項化就會強制執行的初始化方法.
**例項(物件)**賦予了這些引數的類就是這個類的一個例項(物件)了
子類是在父類的基礎之上派生出來的類,父類已經有的方法就不用再單獨寫了,可以繼承.
通過例項(物件)找方法時,會優先找自己的類,自己的類裡找不到,就去父類中去找.
特殊方法
#isinstance檢視第一個引數是否第二個引數或其子類的例項
#issubclass檢視第一個引數是否是第二個引數或其子類的類別
#hasattr檢視第一個引數是否有某個屬性,屬性可以是變數或者方法

class ParentClass:
	def __init__(self,aa,bb):
		self.a = aa
		self.b = bb
		print("Parent Class Object Created")
	def someMethod(self,c):
		self.c = c
		print("Hello")

class ChildClass(ParentClass):
	def __init__(self,aa,bb,d,e):
		super().__init__(aa,bb)
		self.d = d
		self.e = e
		print("Child Class Object Created")

#例項化,物件(例項)的引數,會直接傳遞到類的初始化方法中
parent = ParentClass(1,2)#例項化時,初始化方法強制執行
print(parent.a)
#在類外部可以通過例項(物件)呼叫方法和變數
print("\n")
parent.someMethod(3)
print(parent.c)
#如果子類初始化方法中引用了父類的方法,例項化子類會同時執行引用的父類方法.
print("\n")
child = ChildClass(10,20,40,50)
print(child.a,child.b,child.d,child.e,end=' ')

#在類外部可以通過子類引用自己類以及父類中的方法\變數等
print("\n")
child.someMethod(3)
print(child.c)

#isinstance檢視第一個引數是否第二個引數或其子類的例項
print("\n")
print(isinstance(parent,ParentClass),isinstance(5,int),isinstance(child,ParentClass),isinstance(child,(int,ParentClass)),end=" ")

#issubclass檢視第一個引數是否是第二個引數或其子類的類別
print("\n")
print(issubclass(ChildClass,(ParentClass,ChildClass,int)))
#hasattr檢視第一個引數是否有某個屬性,屬性可以是變數或者方法
print("\n")
print(hasattr(parent,'a'),hasattr(parent,"someMethod"),hasattr(parent,'b'),end=" ")

執行一下上述程式碼,將會幫助我們理解物件導向的概念.
xlionsky的學習筆記.

相關文章