blog.dopana

Back

欢迎回来,建造大师! 🛠️

在现实世界中,玩具工厂并不会从零开始设计每一辆玩具车或每一个奥特曼模型。相反,工程师们会先画出一张 图纸(或者做一个模具),然后工厂用它批量压制成千上万个真实的玩具。

在编程中,我们也使用这种超级高效的技巧来构建游戏角色和场景元素。这被称为 面向对象编程(OOP),它使用 类(Classes) 和 对象(Objects)!

图纸与玩具(类与对象)#

这就是秘密公式:

  • 类(Class):图纸(或者饼干模具)。它定义了玩具应该包含什么信息,以及能够执行什么动作。
  • 对象(Object):用图纸制作出来的真实 玩具(或者饼干)。
graph TD
    Blueprint["📐 类: ToyRobot (图纸)"] -->|制作| Robot1["🤖 robot1 (对象)<br/>名字='拉斯蒂'<br/>颜色='红色'"]
    Blueprint -->|制作| Robot2["🤖 robot2 (对象)<br/>名字='闪闪'<br/>颜色='蓝色'"]

在 Python 中编写机器人图纸#

在 Python 中,我们使用单词 class(类)来声明一张图纸。

让我们为玩具机器人建立一张图纸:

class ToyRobot:
    # 1. 初始装配(构造函数)
    def __init__(self, name, color):
        self.name = name
        self.color = color

    # 2. 执行动作(方法)
    def dance(self):
        print(self.name + " 这只 " + self.color + " 的机器人正在跳舞! 💃")
python

代码大揭秘:#

  • __init__:这是一个特殊的初始装配函数。当你制造一个机器人时,Python 会立即运行这段代码,给它贴上名字和颜色标签。
  • self:这代表当前正在装配或者跳舞的那个“特定的机器人自己”。这能把拉斯蒂的名字和闪闪的名字分得清清楚楚!

批量生产真实机器人(创建对象)#

有了图纸,我们就可以启动生产线了!我们通过调用类名并传入名字和颜色参数来创建真正的对象:

robot1 = ToyRobot("拉斯蒂", "红色")
robot2 = ToyRobot("闪闪", "蓝色")

# 让它们执行动作!
robot1.dance()  # 拉斯蒂 这只 红色 的机器人正在跳舞! 💃
robot2.dance()  # 闪闪 这只 蓝色 的机器人正在跳舞! 💃
python

动手试一试! 🎮#

打开你的 Python 编辑器,试着给你的玩具机器人装上激光武器系统吧:

  1. ToyRobot 类中,在 dance 方法的下方添加一个新的动作方法:
def shoot_laser(self):
    print(self.name + " 发射了一道 " + self.color + " 的激光束! ⚡")
python
  1. 运行代码,并让两个机器人分别发射激光:
robot1.shoot_laser()
robot2.shoot_laser()
python

你刚刚掌握了 面向对象编程 的精髓!现在,你可以为游戏玩家、装备道具、地图块和怪物设计复杂的图纸,并在需要时把它们批量生产出来。你已经可以开始规划自己的一方天地了!🚀🌍

参考资料#