- Python 设计模式教程
- Python 设计模式 - 主页
- 介绍
- Python 设计模式 - 要点
- 模型视图控制器模式
- Python 设计模式 - 单例
- Python 设计模式 - 工厂
- Python 设计模式 - 构建器
- Python 设计模式 - 原型
- Python 设计模式 - 外观
- Python 设计模式 - 命令
- Python 设计模式 - 适配器
- Python 设计模式 - 装饰器
- Python 设计模式 - 代理
- 责任链模式
- Python 设计模式 - 观察者
- Python 设计模式 - 状态
- Python 设计模式 - 策略
- Python 设计模式 - 模板
- Python 设计模式 - 享元
- 抽象工厂
- 面向对象
- 面向对象的概念实现
- Python 设计模式 - 迭代器
- 词典
- 列表数据结构
- Python 设计模式 - 集
- Python 设计模式 - 队列
- 字符串和序列化
- Python 中的并发
- Python 设计模式 - 反
- 异常处理
- Python 设计模式资源
- 快速指南
- Python 设计模式 - 资源
- 讨论
面向对象的概念实现
在本章中,我们将重点讨论使用面向对象概念的模式及其在 Python 中的实现。当我们围绕语句块设计程序并围绕函数操作数据时,这称为面向过程的编程。在面向对象编程中,有两个主要实例,称为类和对象。
如何实现类和对象变量?
类和对象变量的实现如下 -
class Robot: population = 0 def __init__(self, name): self.name = name print("(Initializing {})".format(self.name)) Robot.population += 1 def die(self): print("{} is being destroyed!".format(self.name)) Robot.population -= 1 if Robot.population == 0: print("{} was the last one.".format(self.name)) else: print("There are still {:d} robots working.".format( Robot.population)) def say_hi(self): print("Greetings, my masters call me {}.".format(self.name)) @classmethod def how_many(cls): print("We have {:d} robots.".format(cls.population)) droid1 = Robot("R2-D2") droid1.say_hi() Robot.how_many() droid2 = Robot("C-3PO") droid2.say_hi() Robot.how_many() print("\nRobots can do some work here.\n") print("Robots have finished their work. So let's destroy them.") droid1.die() droid2.die() Robot.how_many()
输出
上述程序生成以下输出 -
解释
此图有助于演示类和对象变量的本质。
“人口”属于“机器人”类别。因此,它被称为类变量或对象。
在这里,我们将总体类变量称为 Robot.population,而不是 self.population。