物件導向 day07 物件導向使用場景(十)

2022-09-15 11:00:30 字數 4299 閱讀 2989

1、概述

2、知識回顧

3、使用場景

之前我們學了物件導向知識,那我們在什麼時候用呢?不可能什麼時候都需要用物件導向吧,除非你是純的物件導向語言,好的,我們下面就來談談

在學物件導向之前我們都是用:函式

物件導向程式設計其實就是:類 + 物件12

3456

78910

11class類名:

def函式1():

pass

def函式2():

pass

# obj是物件,是乙個例項化的

obj=類名()

obj.函式1()

說明:我們把一些公共的功能,可以提取出來,並且在公共的功能中建立屬於這個物件的屬性,然後其他的方法就可以使用這個物件的屬性了

我們舉乙個遠端上傳,執行命令的例子,例子**如下:12

3456

789defupload():

#連線伺服器

#上傳檔案

#關閉

defcmd():

#連線伺服器

#執行命令

#關閉

從上面可以看出,連線伺服器和關閉服務時屬於公共的功能,我們用物件導向實現如下:12

3456

78910

1112

1314

1516

1718

1920

2122

2324

classssh:

def__init__(self,host,port,pwd,username):

self.host=host

....

defconnection(self):

#去建立連線

self.conn=#和伺服器建立的連線物件()

defclose(self):

#關閉

self.conn.關閉

defupload(self):

self.conn#使用連線上傳檔案

defcmd(self):

self.conn#使用連線執行命令

obj=ssh(...)

obj=connection()

obj.upload()

obj.close()

說明:我們用物件導向,其實就是建立乙個模板,比如說見乙個person類,通過這個person類去例項化很多物件,子類繼承它的時候,也可以重用一些屬性和方法,這裡就不多說了

說明:當很多的函式需要有公共的引數時,可以吧引數提取出來,封裝到物件中,便於以後方便使用

比如說,我們有很多的函式,需要用公共的引數,**如下:12

3456

78deff1(host,port,pwd,arg):

pass

deff2(host,port,pwd,arg,arg2):

pass

deff3(host,port,pwd,arg,arg2):

pass

上面三個函式都用到了host、port、pwd、arg這四個引數,那我們就可以封裝到物件中,**如下:12

3456

78910

1112

1314

1516

1718

19classf:

def__init__(self,host,port,pwd,arg):

self.host=host

self.port=port

self.pwd=pwd

self.arg=arg

deff2(self):

self.host

....

deff2(self,args2):

self.host

....

deff3(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 區域性變數 相同點 都是變數,定義的格式相同的。都有作用域,在其宣告的作用域內是有效的。不同點 類中宣告的位置不同 成員變數 直接宣告在類中 區域性變數 方法...