Python面对对象

       面向对象编程 是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对

象都有的通用行为。基于类创建对象 时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。使用面向对象编程可模拟现实情景,其逼真

程度达到了令你惊讶的地步。

       根据类来创建对象被称为实例化 ,这让你能够使用类的实例。在本章中,你将编写一些类并创建其实例。你将指定可在实例中存储什么信息,定义可对这些实例执行

哪些操作。你还将编写一些类来扩展既有类的功能,让相似的类能够高效地共享代码。你将把自己编写的类存储在模块中,并在自己的程序文件中导入其他程序员编

写的类。

       理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。了解类背后的概念

可培养逻辑思维,让你能够通过编写程序来解决遇到的几乎任何问题。

       随着面临的挑战日益严峻,类还能让你以及与你合作的其他程序员的生活更轻松。如果你与其他程序员基于同样的逻辑来编写代码,你们就能明白对方所做的工作;

你编写的程序将能被众多合作者所理解,每个人都能事半功倍。



1.类的结构

        1.实例

        使用面相对象开发,第 1 步 是设计 类

        使用 类名() 创建对象,创建对象 的动作有两步:

        1) 在内存中为对象 分配空间

        2) 调用初始化方法 __init__ 为 对象初始化

        对象创建后,内存 中就有了一个对象的 实实在在 的存在 —— 实例


每一个对象 都有自己 独立的内存空间,保存各自不同的属性

多个对象的方法,在内存中只有一份,在调用方法时,需要把对象的引用 传递到方法内部


2.类属性和实例属性

        概念和使用

        类属性 就是给 类对象 中定义的 属性

        通常用来记录 与这个类相关 的特征

        类属性 不会用于记录 具体对象的特征


3. 类方法和静态方法

        3 类方法

        类属性 就是针对 类对象 定义的属性

        使用 赋值语句 在 class 关键字下方可以定义 类属性

        类属性 用于记录 与这个类相关 的特征

        类方法 就是针对 类对象 定义的方法

        在 类方法 内部可以直接访问 类属性 或者调用其他的 类方法



类方法需要用 修饰器 @classmethod 来标识,告诉解释器这是一个类方法

类方法的 第一个参数 应该是 cls

由 哪一个类 调用的方法,方法内的 cls 就是 哪一个类的引用

这个参数和 实例方法 的第一个参数是 self 类似

提示 使用其他名称也可以,不过习惯使用 cls

通过 类名. 调用 类方法,调用方法时,不需要传递 cls 参数

在方法内部

可以通过 cls. 访问类的属性

也可以通过 cls. 调用其他的类方法


4.静态方法

        在开发时,如果需要在 类 中封装一个方法,这个方法:

        既 不需要 访问 实例属性 或者调用 实例方法

        也 不需要 访问 类属性 或者调用 类方法

        这个时候,可以把这个方法封装成一个 静态方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,145评论 6 13
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,238评论 4 16
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,768评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 像尘埃一样 卑微地开出了花 像春风一样 追寻,踏雪归去 像雪花一样 随暖阳消散而去 嘿 你还记得我吗? 那个女孩 ...
    和晨阅读 143评论 0 1