第 1 课 · Découverte

对象

对象就是一个盒子。而你今天早上已经造过一个了。

~11 min7 个关卡
▶ 视频🎮 游戏🧩 练习📄 备忘单

42 秒 · 含中文字幕 · 8.7 Mo

看完了?现在玩起来。

7 个关卡,真 Ruby 跑在浏览器里,零红色 FAILED。ClaudiaSI 等你。

🎮 玩这一课🛠️ Playground

你会学会的 7 件事

第 1 课:对象

Regarde la leçon (42 s), c'est le contrat : un objet, c'est une BOÎTE qui SAIT et qui FAIT des trucs.

造你的第一个盒子

Crée un objet : complète `boite = Boite.new`. Un .new = une boîte qui apparaît.

画出模具

Définis la classe : `class ChatBot` … `end`. La classe, c'est le moule, pas la boîte.

咔哒一下

Passe à la presse : `bot = ChatBot.new` puis `bot.hello` qui renvoie « Salut, je suis un objet ».

知道 vs 会做

Donne-lui un état ET une méthode qui l'utilise : `bot = ChatBot.new('Ruby')` et `bot.pseudo` qui renvoie « Ruby ».

两个盒子,两份记忆

Crée `bot1 = ChatBot.new('un')` et `bot2 = ChatBot.new('deux')` — puis vérifie qu'ils ne partagent PAS leur mémoire.

第 1 课:OK

Sans aide : écris une classe avec une méthode `salut` qui renvoie « Salut, je suis un objet », et une instance `moi`.

分享这一课

← 全部课程

📄 备忘单

打印出来贴显示器上,就当是你自己的主意

📄 备忘单 — 对象(Ruby)

一页纸,五行代码,你就能聊对象而不虚。

本能反应

class ChatBot          # 1. class  = 模具
  def hello            # 2. 方法 = 它【会做】的事
    "Salut, je suis un objet"
  end
end

bot = ChatBot.new      # 3. .new   = 咔哒 → 对象诞生
bot.hello              # 4. 跟对象说话 → "Salut, je suis un objet"

四条真相

你看到的 它真正是
class ChatBot 模具 — 只存在一次
ChatBot.new 用模具造出来的盒子
@pseudo 它的状态 — 它【知道】的
def pseudo 它的方法 — 它【会做】的

一句话解锁全部

对象就是一个盒子:它知道事情,还会做事情。

坑 1(人人都踩)

bot1 = ChatBot.new("un")
bot2 = ChatBot.new("deux")

bot1.pseudo  # => "un"
bot2.pseudo  # => "deux"   # bot1 根本不知道 bot2 活得怎样

两次 .new = 两个对象 = 两份记忆。永远如此。哪怕它们是双胞胎。

以后别再说

  • 「一个 obj 变量」 → 一个实例
  • 「这个 class 会……」 → 某个实例会……,class 只是模具
  • 「复制这个对象」 → 在你脑子里也许行;Ruby 里要 .dup(如果你真舍不得)

SlopCourse Microduck — 从 slop 到干净的代码。