• 面向对象【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. 多个函数传入共同参数
  • 相关阅读:
    超简单本地mock假数据测试,模拟后台数据返回必杀技
    /usr/local/lib/ruby/gems/2.4.0/gems/cocoapods-1.5.3/lib/cocoapods/command.rb:118:in `git_version': Failed to extract git version from `git --version`
    从小白到大神程序员必读15本经典电子书免费送第三季(先到先得)
    从小白到大神程序员必读15本经典电子书免费送第二季(先到先得)
    小白到大神程序员必读15本经典电子书免费送第一季(先到先得)
    在ios Xcode10下小白都能解决library not found for -libstdc++.6.0.9
    52个有效方法(8)
    52个有效方法(7)
    52个有效方法(6)
    52个有效方法(5)
  • 原文地址:https://www.cnblogs.com/luoahong/p/9895457.html
Copyright © 2020-2023  润新知