类-面向对象编程

1.创建和使用类

类几乎可以模拟任何东西,定义一大类对象都有的通用行为。
在python中,根据约定,首字母大写的名称指的是类,

1.1 方法_init_() — 特殊方法

(1)每当实例化时,python都会自动运行 init()方法。
(2)在这个方法中,约定:开头末尾各有2个下划线
(3)形参self必不可少,必须位于其他形参的前面。python调用这个_init_()来创建实例时,会自动传入实参self。每个与类相关联的方法都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。
(4)以self为前缀的变量都可供类中的所有方法使用,并且可以通过类中的任何实例来访问这些变量(属性)。
在这里插入图片描述

2.根据类创建实例

2.1 访问属性

根据Dog类创建实例后,使用句点表示法来调用Dog类中定义的属性
在这里插入图片描述

2.2 调用方法

根据Dog类创建实例后,使用句点表示法来调用Dog类中定义的任何方法
在这里插入图片描述

2.3 给属性指定默认值

类中的每个属性都必须有初始值,哪怕这个值是0或空字符串。如在方法_init_()内指定初始值,则无需在提供原始值的形参。
在这里插入图片描述

2.3 修改属性的值

(1)直接通过实例进行修改
使用句点表示法直接访问并设置汽车的属性odometer_reading
————————————————————————————————
在这里插入图片描述
————————————————————————————————
(2)通过方法进行设置
增加替你更新属性的方法,无需直接访问属性,将值直接传递给这个方法,由它在内部进行更新。
在Car中增加一个名为update_odometer()的方法
—————————————————————————————————
在这里插入图片描述
—————————————————————————————————
在这里插入图片描述
—————————————————————————————————
(3)通过方法进行递增
—————————————————————————————————
在这里插入图片描述
—————————————————————————————————
在这里插入图片描述
—————————————————————————————————
总结:修改属性,可以在类方法中,也可在实例化后修改,全局起作用

3.继承

编写非空白类时,可使用继承,一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类
子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

电动汽车类是一种特殊的汽车。
在这里插入图片描述
(1)创建子类时,父类必须在当前文件中,且位于子类的前面;
(2)定义子类时,必须在括号内指定父类的名称;
(3)方法_init_()必须包含创建父类所需属性;
(4)super()将父类和子类关联,子类调用父类方法_init_(),包含父类的所有属性。因此父类也称为superclass

3.1 给子类定义属性和方法

在这里插入图片描述

3.2 重写父类的方法

对于父类的方法,只要它不符合子类模拟的实验行为,就可对它进行重写。它要与重写的父类方法同名。
使用继承时,可让子类保留从父类那里继承的精华,剔除不需要的糟粕。

3.3 将实例用作属性----难点

在这里插入图片描述
定义名为Battery的新类,它没有继承任何类。方法_init_()中,有个形参battery_size为可选,默认为70.
在ElectricCar类中,创建一个名为self.battery的属性。创建一个新的Battery实例,并将该实例存储在属性self.battery中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中年妇女学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值