1. 程式人生 > >python8之面向對象補充之使用場景

python8之面向對象補充之使用場景

根據 true 3.2 其他 我們 ... 3.3 例子 面向

一、概述

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

二、知識回顧

2.1 什麽是面向對象?

  在學面向對象之前我們都是用:函數

  面向對象編程其實就是:類 + 對象

2.2 什麽是類,什麽是對象,它們之前又有什麽關系?

class 類名:
    def 函數1():
        pass
 
    def 函數2():
        pass
 
# obj是對象,是一個實例化的
 
obj = 類名()
obj.函數1()

三、使用場景

3.1 提取公共功能

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

我們舉一個遠程上傳,執行命令的例子,例子代碼如下:

def upload():
    #連接服務器
    #上傳文件
    #關閉
 
def cmd():
    #連接服務器
    #執行命令
    #關閉

從上面可以看出,連接服務器和關閉服務時屬於公共的功能,我們用面向對象實現如下:

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()

3.2 根據一個模板去創建某些東西

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

3.3 多個函數傳入共同參數

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

比如說,我們有很多的函數,需要用公共的參數,代碼如下:

def 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這四個參數,那我們就可以封裝到對象中,代碼如下:

class 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
            ....

總結:

  1. 我們把一些公共的功能,可以提取出來,並且在公共的功能中創建屬於這個對象的屬性,然後其他的方法就可以使用這個對象的屬性了
  2. 根據一個模板去創建某些東西
  3. 多個函數傳入共同參數

python8之面向對象補充之使用場景