北京-4年功能测试2年空窗-报培训班学测开-第四十五天
今天自习,在教室
白天都在复习python的面向对象
之所以先复习以前的课而不是复习昨天的,一是因为这块还没复习,二是因为,新学的unittest框架,用到封装继承的部分太多了,面向对象学的都忘了,所以昨天很多部分都不理解
面向对象三大特征,封装,继承,多态
封装是把属性和方法封装到一个类里方便复用,继承是类之间的从属关系,子类可以继承父类的所有属性和方法
在类里,类对象用cls表示,实例对象用self表示,在类外,类对象用类名表示,实例对象用实例化的对象名表示
面向对象有两种属性和四种方法
类属性:在类里方法外直接用变量赋值形式定义,类里所有对象都可调用类属性,包括对象,但只有类对象才能修改类属性
实例属性:一般在init方法里创建,用self.属性=属性值的形式定义,只有对象才能调用实例属性
类方法:
定义:在类里,方法上面加装饰器@classmethod,并且方法内第一个形参是cls
类和实例对象都可调用类方法,会隐式把自己所属类当第一个参数传给cls
实例方法:
定义:在类里,像函数一样定义,但方法内第一个形参是self
类和实例对象都可调用实例方法
实例对象可以直接调用实例属性,会隐式自动把对象本身当第一个形参传给self
类如果调用实例方法,需要手动添加实例对象,把其当第一个参数传给self
静态方法:
定义:在方法前加装饰器@staticmethod,不需要传递类或对象参数
实例对象和类对象都可直接调用静态方法
魔法方法:有特殊功能的方法
__init__:实例化对象时默认调用,用来给对象创建初始化属性
__str__:可自定义打印对象时的返回值
__del__:删除对象时默认调用
私有权限:
定义:在方法和属性前加__
只能在类内使用,不能给子类继承。在类内,一般用get_方法获取私有属性,用set_方法修改私有属性
继承:
python3以后所有类称为新生类,默认继承object类
子类继承父类的所有属性和方法,有多个父类时,按子类传入的父类从前往后的顺序,默认继承第一个父类
子类重写父类的同名方法叫重写,子类优先执行自己的同名方法
子类调用父类方法(父类方法里有父类属性时),需要在自己类里新写一个方法,先调用父类初始化方法,再用父类名调用父类方法。子类调用新方法实现调用父类方法。如果子类有和父类一样的属性时,需在自己方法里调用自己的初始化方法,避免子类对象属性绑定成父类属性
我今天问了另一个老师,他说ui自动化也不是不重要,主要看面试公司是做哪块的,有的公司专做ui,面试时也会考察这部分
他给我说,马上要结课了,现在应该要整理以前的项目了,去整理以前项目的接口和数据库表信息之类的。然后,面试时,linux命令和sql是必问,重要,性能测试jmeter的插件使用,场景之类的问的很多,性能调优考察的不多,主要用到数据库慢查询索引,explains查出慢的语句,数据库几个连接配置,还有tomcat的几个配置及jvm调优参数。pytest的使用及unittest的使用