学习笔记 9 Day(面向对象)

面向对象:

将数据和操作数据相关的方法封装到对象中,组织代码和数据的方式更接近人的思维方式,以此提高工作效率.

面向对象就是找名词,面向过程找动词.

前者适用于大型的工程思考,后者适合小的程序.(比如,你去开车的过程中,你会1 点火,2 挂挡,3踩油门,4 发动.这就是面向过程,开车就是一个小的程序,所有的想到的过程都是动词.面向过程就是一个大的工程,要你去造车,此时无法将全部细节一一展示,只知道车需要轮胎,车壳,座椅等等,这些都是名词,当然,轮胎怎么做这其中有面向过程的思维,但一开始思考是用面向对象的思维思考)

对象的本质就是把数据和方法放在一起,方法就是用来处理数据 的.

类的定义:

如果把饼干比作一个对象,那么类就是制作这个饼干的模具.(类也是对象,是用来产生对象的对象)

类的结构:

对象的结构:

 对象中的方法也就是类里面建好的方法.也就是对象和类里面,方法和属性都是一样的,但是由于传递的数据不一样产生的结果不一样,属性一样,但属性的值不一样.

创建的代码如下:

结果:

构造函数__init__ :

 初始化创建好的对象,初始化是指给"属性赋值"

注意:构造函数__init__名称要固定,都为__init__,且所有构造器第一个 参数必须为self.(self指的就是刚刚创建好的实例对象)

通过"类名(参数列表)"来调用构造函数

实例属性:

如图:上面两行代码称为实例属性

实例方法:

 def  方法名(self,[形参列表]):

        函数体

调用:

对象.方法名([实参列表])

类对象:

所有的类对象都是在一个名为"type"模具下创建,"type"创建不同的类模具(类对象),不同的的模具产生对应的对象.

类属性:

类属性属于类对象中!!!

定义:

class  类名:

        类变量名 = 初始值

调用:

类名.类变量名

类方法:

类方法属于"类对象"!!!  通过@classmethod来定义:

@classmethod

def  类方法名(cls [形参列表]):

        函数体

静态方法:

在类里面,需要通过类调用

定义:

@staticmethod

def  静态方法名([形参列表]):

        函数体

析构方法__del__:

销毁不需要的类对象

代码:

输出:

__call__方法: 

定义一个对象并在对象里面加一个方法,即"可调用的对象"

结果

  方法没有重载:

python 中方法没有重载,当定义了两个名字一样的方法时,只有最后一个方法有效.

方法的动态性

python是动态语言,可以动态的为类添加新的方法,或者动态的修改已有的方法.

结果:

 

由图,我们往类中添加了新的方法play_games

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值