1、概述
2、知識回顧
3、使用場景
之前我們學了物件導向知識,那我們在什麼時候用呢?不可能什麼時候都需要用物件導向吧,除非你是純的物件導向語言,好的,我們下面就來談談
在學物件導向之前我們都是用:函式
物件導向程式設計其實就是:類 + 物件12
3456
78910
11class
類名:
def
函式
1
():
pass
def
函式
2
():
pass
# obj是物件,是乙個例項化的
obj
=
類名()
obj.函式
1
()
說明:我們把一些公共的功能,可以提取出來,並且在公共的功能中建立屬於這個物件的屬性,然後其他的方法就可以使用這個物件的屬性了
我們舉乙個遠端上傳,執行命令的例子,例子**如下:12
3456
789def
upload():
#連線伺服器
#上傳檔案
#關閉
def
cmd():
#連線伺服器
#執行命令
#關閉
從上面可以看出,連線伺服器和關閉服務時屬於公共的功能,我們用物件導向實現如下:12
3456
78910
1112
1314
1516
1718
1920
2122
2324
class
ssh:
def
__init__(
self
,host,port,pwd,username):
self
.host
=
host
....
def
connection(
self
):
#去建立連線
self
.conn
=
#和伺服器建立的連線物件()
def
close(
self
):
#關閉
self
.conn.關閉
def
upload(
self
):
self
.conn
#使用連線上傳檔案
def
cmd(
self
):
self
.conn
#使用連線執行命令
obj
=
ssh(...)
obj
=
connection()
obj.upload()
obj.close()
說明:我們用物件導向,其實就是建立乙個模板,比如說見乙個person類,通過這個person類去例項化很多物件,子類繼承它的時候,也可以重用一些屬性和方法,這裡就不多說了
說明:當很多的函式需要有公共的引數時,可以吧引數提取出來,封裝到物件中,便於以後方便使用
比如說,我們有很多的函式,需要用公共的引數,**如下:12
3456
78def
f1(host,port,pwd,arg):
pass
def
f2(host,port,pwd,arg,arg2):
pass
def
f3(host,port,pwd,arg,arg2):
pass
上面三個函式都用到了host、port、pwd、arg這四個引數,那我們就可以封裝到物件中,**如下:12
3456
78910
1112
1314
1516
1718
19class
f:
def
__init__(
self
,host,port,pwd,arg):
self
.host
=
host
self
.port
=
port
self
.pwd
=
pwd
self
.arg
=
arg
def
f2(
self
):
self
.host
....
def
f2(
self
,args2):
self
.host
....
def
f3(
self
,args2):
self
.host
....
我們把一些公共的功能,可以提取出來,並且在公共的功能中建立屬於這個物件的屬性,然後其他的方法就可以使用這個物件的屬性了
根據乙個模板去建立某些東西
多個函式傳入共同引數
day07物件導向
為什麼使用抽象類 1 定義 dog類 有顏色屬性和叫的方法 2 定義 bird 類有顏色屬性和叫的方法 3 定義其父類 animal 1 抽取共性顏色屬性和叫的方法 1 顏色的屬性可以使用預設初始化值。2 叫的方法在父類中如何定義?1 狗是旺旺 2 鳥是嘰嘰喳喳 3 可以將父類的方法定義為狗叫讓鳥繼...
Day07 物件導向2(繼承)
1.概述 2.構造 塊 3.區域性 塊 4.測試package cn.tedu.oop 測試 塊 總結 1.構造方法 用來建立物件或者完成物件的初始化,在new時觸發 2.構造 塊 位置是類裡方法外,作用是抽取狗髒方法的共性,在new時觸發 3.區域性 塊 位置是方法類,作用是控制變數的作用範圍,當...
day07 物件導向程式設計(1)
修飾符 class 類名 概念 如何由類建立物件以及實現功能的呼叫 物件的記憶體解析 格式修飾符 資料型別 屬性名 初始化值 成員變數 vs 區域性變數 相同點 都是變數,定義的格式相同的。都有作用域,在其宣告的作用域內是有效的。不同點 類中宣告的位置不同 成員變數 直接宣告在類中 區域性變數 方法...