はじめに
「オブジェクト指向ってなんだか難しそう…」
そんなふうに感じたことはありませんか?
今回はPythonでプログラミングを学び始めたばかりの方向けに、
「料理」を例にしながらオブジェクト指向(OOP)の基本をわかりやすく紹介します。
🍱 オブジェクト指向 = モノ(オブジェクト)に仕事を任せる考え方!
🥄 料理でたとえるオブジェクト指向の用語
プログラミング用語 | 料理での例え |
---|---|
クラス(Class) | レシピ(設計図) |
インスタンス(オブジェクト) | 実際に作った料理(完成品) |
メソッド(method) | 調理手順(焼く・混ぜるなど) |
属性(property) | 材料や味付けなどの情報 |
📋 手続き型(OOPじゃない書き方)でオムライスを作る
まずは「手続き型」と呼ばれる、昔ながらのスタイルで料理を作ってみる。
example.py
# 材料を定義
name = "オムライス"
ingredients = ["ごはん", "卵", "ケチャップ"]
# 調理手順を関数として書く
def cook(name, ingredients):
print(f"{name} を作るよ!")
print("材料:", ingredients)
print("調理中...")
print(f"{name} 完成!")
cook(name, ingredients)
🍳 クラスを使って「オブジェクト指向」で料理してみる
ここからが本題!
「レシピ(設計図)」=クラスを作って、それを元に料理(インスタンス)を作る。
example.py
class Recipe:
def __init__(self, name, ingredients):
self.name = name # 材料や名前などの情報(属性)
self.ingredients = ingredients
def cook(self): # 調理方法(メソッド)
print(f"{self.name} を作るよ!")
print("材料:", self.ingredients)
print("調理中...")
print(f"{self.name} 完成!")
# オムライスを作ってみる
omurice = Recipe("オムライス", ["ごはん", "卵", "ケチャップ"])
omurice.cook()
👆 データ(材料)と操作(調理)がひとまとめになっているのがポイント!
🍝 別の料理も同じクラスで作れる!
レシピの設計さえしておけば、カレーもオムライスも同じ方法で調理できる!
example.py
curry = Recipe("カレーライス", ["ごはん", "ルウ", "にんじん", "じゃがいも"])
curry.cook()
✨ OOPは「料理を任せる」考え方!
オブジェクト指向を一言で説明すると
「自分でやる」から「レシピに任せる」へ
身近な例で考えると、難しそうなプログラミングの概念もグッとわかりやすくなります。
まずは「自分だけのレシピクラス」をいろいろ作って、楽しみながら覚えていきましょう!