面向对象基础-初步介绍
面向对象中的基础介绍:
一:在面向对象的方法中:一切事物皆对象,只要是对象就会分类别;只要是对象就会有属性。
二:面向对象的三个属性:封装、继承、多态;
封装含义:把一些功能的实现细节不对外暴露;
继承含义:一段代码,重复使用(代码重用);
多态含义:一种接口,多种实现(接口重用);
三:新式类与经典类的区别:多继承上的顺序问题,
查询策略:
广度优先:先查找横向策略再去查纵向(新式类的查询策略);
深度优先:顺序查询(经典类的查询策略);
py2的经典类是按照深度优先来继承的,新式类是按广度优先来继承的;
py3的经典类和新式类都是统一按照广度优先来继承的;
四:构造函数:在实例化时做类的初始化的工作
五:析构函数:一般用于收尾工作,如关闭临时文件和关闭数据库文件;
六:静态方法:只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性;
七:类方法:只能访问类变量,不能访问实例变量;
类变量的用途:大家共用的属性,类变量的作用:节省内存;
八:反射:
反射方法:
hasattr(obj,name_str)方法,判断一个对象obj程序中是否有对应的字符串,验证程序中是否具有这个字符串
getattr(obj,name_str)方法,根据字符串去获取obj对象里的对应的方法的内存地址
上述方法常在一起连用
setattr(obj,'y',z)方法,is equivalent to ``x.y = v''
delattr()方法,根据字符串去删除obj对象里的对应的方法的内存地址
上述方法常在一起连用