Python中的对象,类,super()函数
对象:(1)外观的特征
(2)正在做的事情
比如:那个穿蓝色衣服的正在打球的帅哥
类:属性(静态的变量)+方法(函数)是对对象的近似
类名约定是以大写字母开始的
类的出现:
是为了使得对象可以进行大批量的生产。.比如选择属性以及行为就可以DIY自己的一个小型机器人。
类的实例化就是对象:
为了区分类和函数在Python中我们使用大写字母开头标注类,小写字母开头标注函数。
OO=Object Orited
封装:信息的集成隐藏。用户不知道具体的怎么实现,也就是操作对用户是透明的
继承:遗产的继承,以及遗传基因的继承。
Class Mylist(list) Mylist就是对list的继承,list是Python中的列表关键字,list有很多的函数,比如sort append等
多态:就是不同的方法对同一事情的响应是不一样的。比如:移动的操作,由于Object的不同而不同。鸟的移动通常是使用翅膀,人的移动是行走,袋鼠的移动是通过跳
类中的错误:
为什么说没有继承X属性?
因为在Shark中的我们重新的写了def ——init——函数
修改:
(1)调用未绑定的父类中的方法,使用指明特定父类然后添加方法
(2)使用super函数
可以帮我们自动的找到没有被继承基类(父类)的名字的方法,然后自动的帮我们实现以上的这些功能。就是super()函数的智能
Issubclass(class,classinfo)检查是不是他的子类:
Isinstance(object ,class)检查对象是不是class的实例对象
Hasatrr(object ,name)检查有没有那个属性
Getattr()可以获得属性的值
Getattr和setattr是相对的
Proprety(fget,fset,fdel,fdoc)
Fget:表示获得属性的方法,也就是在我们类C中自己编写的getsize,以此类推。使用x=property就有一种给用户的接口的样子,用户只需要使用x来对需要的属性就行修改或者是设置。