zoukankan      html  css  js  c++  java
  • 自动化测试第九节---面向对象编程

    面向对象编程:面向对象的开发语言,面向对象的世界一切皆对象,面向对象它是包含面向过程的

    类:一类东西,一个模型

    实例:通过这个模型造出来的东西,即对象

    实例化:就是造实例的过程

    面向对象的特性:

    1、封装:就是把零散代码封装成一个函数,或者封装成一个类

    2、继承:就是父类有的东西,你也有

    例如:

    class JxFather(object):
    addr='密云'
    def __init__(self,num):
    self.house_num=num
    def makeMoney(self):
    print('ddssssd@##s')

    class Jx(JxFather):#继承JxFather这个类
    def dabaojian(self):
    print('ewhfieeee')
    class JxSon(Jx,JxFather):#同时继承多个类
    pass

    3、多态:一种方法多种实现

    属性:就是类里面的变量,包含类变量和实例变量

    1、类变量:存在类里面的,一般一些公共的东西,不会变的,用类变量

    2、实例变量:实例化的时候才创建的变量

    例如:

    class Student(object):
    country='China'#类变量,也就是公共的东西,不会变的,用类变量
    def __init__(self,name):
    self.name=name#实例变量,实例化的时候才创建的变量
    self.sex='女'
    self.addr='望京'

    方法:就是类里面有什么功能,其实就是类里面的函数,类里面的函数如果有多次调用,而且还要获取到他的返回值,那就用return,如果这个变量就用了一次,那么就用self.XX=XXXX

    1、类方法:通过类名可以直接调用,不需要实例化

    class My(object):
    country='japan'
    @classmethod#类方法,通过类名可以直接调用,不需要实例化,不能用实例方法和实例变量
    def ddl(cls):
    print(cls.country)
    My.ddl()

    2、静态方法:就是写在类里面的一个普通函数而已。

    @staticmethod#静态方法,一个普通函数
    def myFun():
    print('我就是一个普通函数')
    return '现在17:03'
    My.myFun()

    3、实例方法:必须实例化之后才可以调用的方法,类里面的函数,如果第一个参数是self,那么就是一个实例方法

    class My(object):
    def __init__(self):#实例方法
    self.cup='乐扣'
    print('cup is %s'%self.cup)
        def get_salt(self):#实例方法
    print('XXX')

    4、属性方法:把一个方法变成一个变量。属性方法也是一个实例方法,需要实例化才能使用。属性方法同样可以通过实例方法实现。如果你使用属性方法的话,那么必须得有返回值,而且不能有入参。

     例如:

    class Calc(object):
    def __init__(self,a,b):
    self.a=a
    self.b=b
    def add(self):
    return self.a+self.b
    @property#属性方法
    def add2(self):
    return self.a+self.b
    res=Calc(3,5)#实例化
    #调用以下两个方法结果是一样的
    res.add()
    res.add2

    构造函数:初始化这个对象,你想让他给你传哪些东西,他会在这个类实例化的时候自动执行。

    析构函数:它是在这个实例被销毁的时候自动执行的。

    例如:

    class YueBing(object):
    def __del__(self):#析构函数,实例被销毁的时候执行
    print('月饼被我吃了')
    def wuren(self):
    print('我是五仁月饼')#构造函数,类实例化的时候就执行的
    def __init__(self):
    print('造好月饼了')

    私有:包括私有方法,私有变量。方法或者变量前面加上__,(两个下划线),它就是一个私有方法/私有变量。私有方法或者变量在类里面随便用,出了类就不好使。

    例如:

    class My(object):
    __salt='$$$EEeefff343'#私有变量
    def __init__(self):
    self.__cup='乐扣'#私有变量,只能在类里面进行调用
    print('cup is %s'%self.__cup)
    def bad(self):
    print('cup is %s'%self.__cup)
    self.__cup='矿泉水瓶'#私有变量
    print('cup is %s'%self.__cup)
    def __mymoney(self):#私有方法,只能在类里面进行调用
    print('我今天没有钱')
    def get_salt(self):
    print(self.__salt)#调用私有变量
    self.__mymoney()#调用私有方法

    编码命名规范:

    如果是类名的话,首字母要大写,如class Students(object):

    strToDict  #函数名如果有多个单词的话,每个单词首字母都大写

    str_to_dict#函数名使用多个单词用下划线连起来也行
           
    实例:

    import pymysql
    from pymysql.cursors import DictCursor
    class MyConnect():
    def __init__(self, host, port, user, passwd, db, charset='utf8'):
    self.__host = host#定义实例初始化的变量
    self.port = port
    self.user = user
    self.passwd = passwd
    self.db = db
    self.charset = charset
    self.get_cur() # 表示创建实例的时候就建立游标

    def get_cur(self):
    try:
    self.coon = pymysql.connect(host=self.__host, user=self.user, passwd=self.passwd, db=self.db, port=self.port,
    charset=self.charset)
    except Exception as e:
    return '数据库连接失败'
    else:
    self.cur = self.coon.cursor(DictCursor) # 建立游标

    def select_sql(self, sql):
    self.cur.execute(sql)
    print(self.cur.fetchall())
    return self.cur.fetchall()
    # res = self.cur.fetchone()

    def other_sql(self, sql):
    try:
    self.cur.execute(sql)
    except Exception as e:
    print('sql执行失败:%s' % e)
    return e
    else:
    self.coon.commit()

    def __del__(self):
    self.cur.close()
    self.coon.close()
  • 相关阅读:
    AdvComboBox
    带有可选选项的输入文本框(组合框)
    使用JavaScript为整个网站创建通用的Twitter按钮
    高速绘图控件
    Outlook样式分组列表控件
    CComboBox的禁用项目
    一个自定义的WPF滑块按钮
    23个设计模式
    MVC执行流程
    SQL注入面试
  • 原文地址:https://www.cnblogs.com/ninanie/p/7903973.html
Copyright © 2011-2022 走看看