0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解面向对象(二)

冬至配饺子 来源:多兰多 作者:Toranto 2022-08-18 15:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

__init__方法创建对象

__init__()

类构造方法:在创建类时,我们可以手动添加一个

__init__()

方法,该方法是一个特殊的类实例方法,称为构造方法(也叫初始化)。构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它。Python 类中,手动添加构造方法的语法格式如下:

poYBAGL94y6APdBKAAARO8RPZso472.png

注意,__init__,开头和结尾各有 2 个下划线,且中间不能有空格。Python 中很多这种以双下划线开头、双下划线结尾的方法,都具有特殊的意义。
如果__init__方法有参数的话:在实例化的时候除了self,其他的需要手动传递参数:

poYBAGL9412ARwhjAADcT2yTXqA265.png

init类构造方法归结起来就是谁调用赋值谁。

我们还可以给上面这段代码加点料,产生计数器的效果:

pYYBAGL9466AB4guAADapc5L070216.png

__dict__查看属性

使用__dict__,可以查看定义的类的属性(不包含公有属性),可以理解为公有属性是本身就具备的,而非后来定义。具体用法为:

print

(对象.__dict__)

poYBAGL94_KAJIlVAAAnGK_qVwY470.png

小实例

模仿英雄联盟(LOL)定义两个英雄类

要求:1、英雄有昵称、生命值、攻击力2、实例化出两个英雄对象3、英雄之间可以互殴,被打的一方掉血,血量小于0判断死亡

poYBAGL95CSAGBEzAAEAt-a-7bg539.pngpoYBAGL95CqAfO1yAAFw-StOBRA277.pngpYYBAGL95DOAbeRwAAAk_iQvuA4193.png

组合

在一个类中以另一个类的对象作为数据属性,称为类的组合。

例如:

有一个士兵类

属性:姓名,武器

枪火类

属性:名称,子弹数量,杀伤力

方法:开火,装弹

pYYBAGL95FuAV__CAAEBco9KKkc600.pngpoYBAGL95GKAc98KAABnZnZtlJM874.png

第40行就是组合。




审核编辑:刘清


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2306

    浏览量

    97656
  • python
    +关注

    关注

    57

    文章

    4860

    浏览量

    89650
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    6940
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    canopen如何通过对象字典控制外设?

    各位大佬好,我在移植canopen的时候碰到一个疑问。比如我修改对象字典2000,子索引为0这个目录下的值,如何这个对象映射的是某个led灯的亮灭,输入1为亮,0为灭。 问题就是我发送报文之后会进入
    发表于 09-11 06:04

    【HarmonyOS 5】鸿蒙中的UIAbility详解

    【HarmonyOS 5】鸿蒙中的UIAbility详解) ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言 今天我们继续深入讲解
    的头像 发表于 07-11 18:17 724次阅读
    【HarmonyOS 5】鸿蒙中的UIAbility<b class='flag-5'>详解</b>(<b class='flag-5'>二</b>)

    HarmonyOS 5 makeObserved接口详解

    【HarmonyOS 5】makeObserved接口详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、makeObserved接口
    的头像 发表于 06-16 17:58 539次阅读

    【HarmonyOS 5】鸿蒙中的UIAbility详解(三)

    详解系列的最终章。主要针对UIAbility的冷启动和热启动,对于want数据的处理。UIAbility的备份恢复,UIAbility的接续等高级功能的概念和使用讲解。 、UIAbility启动模式
    的头像 发表于 06-14 22:32 523次阅读

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1742次阅读

    芯片新关税涉及的品牌/标签/产地—详解

    芯片新关税涉及的品牌/标签/产地—详解
    的头像 发表于 04-16 17:44 870次阅读
    芯片新关税涉及的品牌/标签/产地—<b class='flag-5'>详解</b>

    30KPA144A 极管:144V 击穿下的卓越瞬态电压抑制性能详解

    30KPA144A 极管:144V 击穿下的卓越瞬态电压抑制性能详解
    的头像 发表于 03-11 14:56 784次阅读
    30KPA144A <b class='flag-5'>二</b>极管:144V 击穿下的卓越瞬态电压抑制性能<b class='flag-5'>详解</b>

    如何使用OpenVINO™运行对象检测模型?

    无法确定如何使用OpenVINO™运行对象检测模型
    发表于 03-06 07:20

    SiC碳化硅极管公司成为国产碳化硅功率器件行业出清的首批对象

    结合国产碳化硅功率半导体市场的竞争格局和技术发展趋势,SiC碳化硅极管公司已经成为国产碳化硅功率器件行业出清的首批对象,比如2024已经有超过两家SiC碳化硅极管公司破产清算,仅有碳化硅
    的头像 发表于 02-28 10:34 705次阅读

    电力电子中的坐标变换详解

    电力电子中的坐标变换详解 clark变换&park变换
    发表于 02-17 15:28 1次下载

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 1006次阅读
    Kubernetes Pod常用管理命令<b class='flag-5'>详解</b>

    精密空调操作使用方法详解

    精密空调操作使用方法详解
    的头像 发表于 02-10 14:44 1949次阅读
    精密空调操作使用方法<b class='flag-5'>详解</b>

    对象存储是什么结构类型?

    对象存储属于非结构化数据存储架构,采用扁平化命名空间结构。其核心通过唯一标识符(ObjectID)定位数据对象,突破传统文件系统的层级目录限制,形成"桶-对象"两级逻辑模型。数据以独立对象
    的头像 发表于 02-10 11:14 708次阅读

    5KP18A瞬态抑制极管规格书详解 保障电路安全

    5KP18A瞬态抑制极管规格书详解 保障电路安全
    的头像 发表于 01-14 14:52 938次阅读
    5KP18A瞬态抑制<b class='flag-5'>二</b>极管规格书<b class='flag-5'>详解</b> 保障电路安全

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    向用户申请授权。 、基础数据迁移 使用分布式数据对象,与上述开发步骤类似,需要在源端onContinue()接口中进行数据保存,并在对端的onCreate()/onNewWant()接口中进行数据恢复
    发表于 12-24 09:40