面向对象【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. 多个函数传入共同参数

猜你喜欢

转载自www.cnblogs.com/luoahong/p/9895457.html