本节内容
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
....
|
总结:
- 我们把一些公共的功能,可以提取出来,并且在公共的功能中创建属于这个对象的属性,然后其他的方法就可以使用这个对象的属性了
- 根据一个模板去创建某些东西
- 多个函数传入共同参数