青少年python系列 41.面向对象-类2

青少年python系列目录_老程序员115的博客-CSDN博客

青少年python教学视频ppt源码

        面向对象程序设计之所以被广泛使用且经久不衰,是因为你可以真真切切地按照现实生活中的思维,去构建面向对象程序的世界。我们可以使用类来模拟现实世界中的很多情景。在完成对类编写好后,你的大部分精力都将会用在根据类信息来创建实例对象。你需要执行的一个重要任务是修改实例对象的属性。你可以直接修改实例的属性,也可以通过编写方法以特定的方式进行修改属性信息。本节课,我们将通过一个案例,进一步认识面向对象这一编程方式,并进一步掌握对类与对象的使用。

1 car

        我们来编写一个表示汽车的类Car类,该Car类存储了有关汽车的信息,类中包含一个描述汽车信息的方法。

       在程序的第二行,我们定义了__init__()方法。与前面的Dog类中的一样,这个方法的第一个形参为self。我们还在这个方法定义了另外三个形参:make、model和year。方法__init__()接受传递过来的形参的值,并将它们存储在根据这个类创建的实例对象的属性中。

        创建新的Car实例对象时,我们需要指定汽车品牌、车型和生产年份三个信息。在第六行处,我们定义了一个名为get_data()的方法,get_data()方法的功能可以使用参数中的属性year、make和model信息,来创建一个对汽车信息进行描述的字符串,让我们无需分别来打印每个属性的值。为在这个方法中访问属性的值,我们使用了self.make、self.model和self.year。如果我们根据Car类创建了一个实例对象my_car,并将其存储到变量my_car中,接下来,我们调用方法get_data (),就可以指出我们拥有的是一辆什么样的汽车。

2 属性默认值

        其实每个类中的每个属性,都是必须有初始值的,哪怕这个值是0或空字符串(null)。在一般情况下,如过想要对类中的属性信息进行默认值的设置,我们直接在方法__init__()内指定初始值信息就可以完成对属性值的初始化。如果你对这个属性做了初始化工作,就不需要包含为它提供初始值的形参数据了。例如在下面来添加一个属性名称为mile_age(里程)的变量,来记录汽车行驶的总里程数据。因为在一开始车子刚刚生产出来,所以给定的初始值数据为0。另外,我们还添加创建了一个名get_mileage()的方法,用于读取汽车的里程表信息:

       当Python调用方法__init__()来创建新实例的时候,将像前一个示例一样,都是以传递的属性参数值信息的方式,初始化存储制造商、型号和生产年份。在接下来程序的第九行中,Python将创建一个名为mile_age的属性,并将其初始值设置为0。在第十四行处,我们还定义了一个名为get_mileage()的方法,它让你能够轻松地获悉汽车的里程。在第二十行我们打印输出了get_mileage()函数的返回值信息,可以看到程序运行的结果。

3 修改属性值

        在现实生活中其实根据事实情况,即使一辆新的车子下线出售,它的行驶里程也不可能为0,所以在接下来的编程中,我们要贴合实际,来对里程数mile_age属性进行修改。

在这里,我们可以使用三种不同的方式修改属性的值:1、直接通过实例进行修改;2、通过方法进行设置;3、通过方法进行递增(增加特定的值)。下面依次介绍这些方法来对属性值进行修改:

1、直接修改属性的值

        要修改属性的值,最简单的方式是通过实例直接访问它。

        我们使用句点表示法来直接访问并设置汽车里程的属性mile_age。这行代码可以让Python在实例my_car中找到属性mile_age,并将该属性的值设置为12。

2、通过方法函数修改属性的值

        如果有专门替你更新属性值信息的方法,在以后的程序设计中,会更加的安全、方便。这样,你就无需直接访问属性,而可将值传递给一个专门的方法方法,由它在内部进行更新。下面的示例演示了通过方法函数修改属性的值,创建一个名为set_mileage ()的方法:

3、通过方法对属性的值进行递增

         在使用编程解决实际生活问题时,有时候需要将属性的值按照特定的量进行增长,而不是简单的将其数据设置为全新的值。举个例子,假设我们现在购买了一辆二手车,按照规定约束,从购买到登记这个期间,汽车的里程数需要自然额外增加了100里程。下面,我们创建一个方法,这个方法可以让我们能够传递这个里程增量,来修改汽车里程的属性信息。

总结

1、属性默认值

每个类中的每个属性,都是必须有初始值的,哪怕这个值是0或空字符串(Null)。

2、修改属性值

我们可以使用三种不同的方式修改属性的值:

1、直接通过实例进行修改;2、通过方法进行设置;3、通过方法进行递增(增加特定的值)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值