面向对象的理解:
面向对象是一种设计思想
1.符合人们的思考习惯
2.把执行者变成指挥者
3.简化功能,把复杂的事情简单化
面向对象有三大特征:
1.封装
2.继承
3.多态
类和对象的区别
1、区别
类是对事物的描述
对象是类的具体化
类是抽象的,对象是具体的。
2、对象访问类的方法
首先实例化得到一个对象
对象访问实例方法:对象名.方法(xx)self自动传值
对象访问类方法:对象名.类方法(xx)cls自动传值
对象访问静态方法:对象名.静态方法(xx)根据参数,依次传值
3、创建对象做了什么?
1、执行__new__方法,返回对象
2、执行__init__方法,初始化参数
3、将此对象返回
类的构成
类(class)由3个部分构成
·类的名称:类名·类的名称:类名
·类的属性:一组数据成员变量
·类的方法:允许对进行操作的方法(行为)成员方法
举例:
1)人类设计,只关心3样东西:
·事物名称(类名):人(Person)
·属性:身高(height)、年龄(age)
·方法(行为/功能):跑(run)、打架(fight)
2)狗类的设计
·类名:狗(Dog)
·属性:品种、毛色、性别、名字、腿儿的数量
·方法(行为/功能):叫、跑、咬人、吃、摇尾巴
定义类
创建对象
python中,可以根据已经定义的类去创建出一个个对象
__init__()方法
使用方法:
总结1
当创建Car对象后,在没有调用__init__()方法的前提下,BMW就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了
总结2
·__init__()方法,在创建一个对象时默认被调用,不需要手动调用
·__init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
·__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
定义__str__()方法
总结
·在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
·当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
self
总结
·所谓的self,可以理解为自己
·可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
·某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可
�