Python 10-5——将实例用作属性

        在描述一个普通类中的特殊类时,有时添加的细节越来越多,代码会很冗长,既不方便读取也不方便他人理解你编写的类,这时可以将类中的大块部分独立出来当做一个新的类,用该类的实例作为要描述的类中的属性。比如描述电动汽车,可能电瓶信息要占据很大部分篇幅,此时就可以将电池信息及方法作为独立的类,在描述电动汽车时可以用该类创建的实例来当做其属性。

        对狗狗的类,需要重复打印其相关信息,此时可以将打印信息的方法及信息作为实例去创建狗狗的类。专业一点的说法据说叫封装:

1、定义狗狗信息的类,其中包含名字,年龄属性;定义打印狗狗信息的方法,用于打印狗狗的信息;

2、定义一个Dog类,狗狗名字和年龄属性的信息传递方式跟以往不同;

3、定义改名字,年龄递增,重新打印信息的方法;

4、创建名为dg的狗狗实例,通过调用方法,实现改名,年龄递增并打印相关信息。

1、将信息属性封装,然后通过实例传递属性是简洁且易于理解的方式;

2、实例传递属性时任然要传递给属性,代码中是self.info这一属性;

3、实例包含相关的形参;

没有看大大的代码,按自己理解的方式重写打印信息的方式,结果出现了一定的偏差。

        思考之后,发现重写方法时,多用了一个print语句,因为在实例中本身包含了打印信息的语句,再打印调用方法的属性时没有任何东西,只能打印出空值(打印再打印 = 没东西可打)。修改之后恢复正常。

        可以看出通过实例来当作属性的方式定义类时,在创建该类的实例将自动包含实例所表示的类信息,实现了一定程度上到我自动化。对包含属性的实力类可以做任意改动而不会让类显得混乱不堪。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,695评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,285评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,835评论 18 399
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 4,202评论 1 10
  • 体验新爱啪啪,新手引导后立即要注册登录(瓦特,竟然没有游客浏览模式) 咦再注意看,这个注册界面提醒 #it's s...
    FanFanny阅读 326评论 0 1

友情链接更多精彩内容