面向对象

面向对象的理解:

面向对象是一种设计思想

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)

·属性:品种、毛色、性别、名字、腿儿的数量

·方法(行为/功能):叫、跑、咬人、吃、摇尾巴


面向对象_第1张图片

定义类


面向对象_第2张图片

创建对象

python中,可以根据已经定义的类去创建出一个个对象


面向对象_第3张图片


面向对象_第4张图片
面向对象_第5张图片
面向对象_第6张图片
面向对象_第7张图片


__init__()方法


面向对象_第8张图片


面向对象_第9张图片

使用方法:



面向对象_第10张图片



总结1

当创建Car对象后,在没有调用__init__()方法的前提下,BMW就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了


面向对象_第11张图片

总结2

·__init__()方法,在创建一个对象时默认被调用,不需要手动调用

·__init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)

·__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去


定义__str__()方法


面向对象_第12张图片

总结

·在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法

·当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据


self


面向对象_第13张图片

总结


·所谓的self,可以理解为自己

·可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思

·某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

你可能感兴趣的:(面向对象)