物件導向:類,物件
函式寫在類裡面,一定要加self
例:
class foo:
# 函式在類裡面-->方法
def mail(self, email, message):
return ture
# 呼叫
# 1. 建立物件,類名(),例如:obj = foo()
# 2. 通過物件去執行方法,例如:obj.mail()
建立類
class 類名:
def 方法名(self,***x):
pass
建立物件
物件 = 類名()
通過物件執行方法
物件.方法名()
物件是由類建立的,物件執行方法,根據類物件指標進入物件找到方法
self怎麼理解
self是乙個python會自動傳遞的引數
哪個物件執行方法,self就是誰
構造方法
類中有乙個特殊的方法__init__,類()-->類名加括號
物件導向三大特性
封裝,繼承,多型
6--例項
class sqlhelper:
def __init__(self, a1, a2, a3):
print("自動執行init")
# 以下進行封裝
self.hhost = a1
self.uusername = a2
self.pwd = a3
def fetch(self, sql):
pass
def crear(self, sql):
pass
def remove(self, id):
pass
def modify(self, name):
pass
# obj1 = sqlhelper() # 加括號自動執行__init__方法,同時self為obj1
obj1 = sqlhelper("a.com", "jack", 123) # 進行self封裝 構造了方法,建立物件的過程--利用__init__構造方法
obj1.fetch("select ***x") # 進行呼叫
# obj2 = sqlhelper() # 加括號自動執行__init__方法,同時self為obj2
當某一些函式具有相同引數時,可以使用物件導向的方式,將引數值一次性的封裝到物件,以後去物件中取值即可。
在類中,無上下順序,可以提點呼叫
7--多層封裝例項:
class c1:
def __init__(self, name, obj):
self.name = name
self.obj = obj
class c2:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print(self.name)
return 123
class c3:
def __init__(self, a1):
self.money = 123
self.aaa = a1
c2_obj = c2('aa', 11)
# c2_obj是c2型別 封裝了 name age
# - name = "aa"
# - age = 11
c1_obj = c1("alex", c2_obj)
# c1_obj.obj.name-->c2中的年紀 就是c1_obj.obj==c2_obj
# c1_obj 是c1 型別
# - name = "alex"
# - obj = c2_obj
c3_obj = c3(c1_obj)
# 使用c3_obj執行show方法
ret = c3_obj.aaa.obj.show()
print(ret)
多層封裝例項**如下:
繼承例項1:(繼承<==>將父類中的方法複製到子類中)
class f1: # 父類,基類
def show(self):
print('show')
def foo(self):
print(self.name)
class f2(f1): # 子類,派生類
def __init__(self, name):
self.name = name
def bar(self):
print('bar')
def show(self):
print('f2.show')
obj = f2('alex')
# obj.show()
obj.foo() # 列印出alex 繼承父類的方法,相當於父類的方法寫入子類中
繼承例項2:
左側優先順序高於右邊,從左側逐漸向父類查詢,找到底再從右側尋找
多繼承例項:
尋找方法 都是從自己先查詢,首先查詢init方法
例子:
物件導向思想的基本概念 封裝 繼承 多型
解釋二 物件導向 object oriented,oo 的思想對軟體開發相當重要,它的概念和應用甚至已超越了程式設計和軟體開發,擴充套件到如資料庫系統 互動式介面 應用結構 應用平台 分布式系統 網路管理結構 cad 技術 人工智慧等領域。物件導向是一種 對現實世界理解和抽象的方法,是計算機程式設計...
物件導向 基本概念
物件 由其責任定義的,能夠自己負責自己,從而簡化了使用物件的控制程式的任務。將責任轉移到更區域性的層次。類 class 根據物件所具有的責任定義物件的型別。責任 行為或狀態,這些分別是由方法和或資料實現的。具體類 concrete cass 實現抽象類某一特定型別行為的類,具體類是乙個概念特定不變的...
物件導向基本概念
物件導向是相對面向過程而言 物件導向和面向過程都是一種思想 面向過程強調的是功能 行為 物件導向 將功能封裝進物件,強調具備了功能的物件 物件導向是基於面向過程的 類的概念 具有相同屬性的一類事物 物件的概念 就是對這乙個類的具體的描述 比如人類就是抽象的類,具體的某乙個人就是物件,對人這個類的具體...