软件测试 / 测试开发丨 Linux 三剑客与管道使用
免费领取:测试资料+性能测试+接口测试+自动化测试+测试开发+测试用例+简历模板+测试文档
本文为霍格沃兹测试开发学社学员学习笔记分享
内置类装饰器
不用实例化、直接调用
提升代码的可读性
普通方法
定义:第一个参数为 self,代表 实例本身
调用:要有实例化的过程,通过 实例对象.方法名 调用
复制代码
类方法
定义:使用 @classmethod 装饰器,第一个参数为类本身,所以通常使用 cls 命名做区分(非强制)在类内可以直接使用类方法或类变量,无法直接使用实例变量或方法
调用:无需实例化,直接通过 类.方法名 调用,也可以通过 实例.方法名 调用
复制代码
静态方法
定义:使用 @staticmethod 装饰器,没有和类本身有关的参数无法直接使用任何类变量、类方法或者实例方法、实例变量
调用:无需实例化,直接通过 类.方法名 调用,也可以通过 实例.方法名 调用不能调用实例方法及实例变量
复制代码
普通方法、类方法、静态方法
实际案例
代码实现的需求是格式化输出时间
如果现在需求变更,输入 年、月、日 没法保证格式统一,可能是 json,可能是其他格式的字符串,在不修改构造函数的前提下,如何更改代码
复制代码
静态方法实际案例
此方法没有任何和实例、类相关的部分,可以作为一个独立函数使用
某些场景下,从业务逻辑来说又属于类的一部分
例子:简单工厂方法
复制代码
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/6899b56c3c1225ed56486d2e7】。文章转载请联系作者。
评论