1. 程式人生 > >面向物件【day07】:面向物件使用場景(十一)

面向物件【day07】:面向物件使用場景(十一)

本節內容

1、概述

2、知識回顧

3、使用場景

一、概述

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

二、知識回顧

2.1 什麼是面向物件?

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

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

2.2 什麼是類,什麼是物件,它們之前又有什麼關係?

1 2 3 4 5 6 7 8 9 10 11 class  類名:      def  函式 1 ():          pass       
def  函式 2 ():          pass   # obj是物件,是一個例項化的   obj  =  類名()
obj.函式 1 ()

三、使用場景

3.1 提取公共功能

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

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

1 2 3 4 5 6 7 8 9 def  upload():      #連線伺服器      #上傳檔案      #關閉   def  cmd():      #連線伺服器      #執行命令      #關閉

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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 多個函式傳入共同引數

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

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

1 2 3 4 5 6 7 8 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這四個引數,那我們就可以封裝到物件中,程式碼如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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. 多個函式傳入共同引數