你会学会的 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 — 从 slop 到干净的代码。