【ぱいそん】はじめました。忘備録⑧ オブジェクト指向【Python】
オブジェクト指向
動画でも最初の挫折ポイントって言われていますが、私も、そこで挫折した人だったりします。
クラスとは
変数やメソッドをまとめたもの。
クラスは抽象的なもので、インスタンスは具体化されたもの。
猫と一言で言ってもどんな猫かわからないですが、
例えば、猫のアンケートとして左のようなアンケートがあった時に、右のように答えた感じになります。
猫
- 猫種
- 毛の色
- サイズ
- 餌を食べる
- 遊ぶ
ミケ(と言う猫は)
- 雑種
- キジ
- 中型
- カリカリを食べる
- 猫じゃらしで遊ぶ
一言に猫と言われてもどんな猫なのかはわかりませんが、右のように言われれば、猫の中のミケは、こういう子なんだと分かるかと思います。
この左のアンケートをプログラミングでは、クラスと言い、右の答えをインスタンスと言います。
プログラミングにするのなら、
class 猫{
syurui=""
color=""
size=""
function eat(){}
function play(){}
}
mike= new 猫
syurui="雑種"
color="キジ"
size="中型"
ミケ.eat(カリカリ)
ミケ.play(猫じゃらし)
}
のような感じになります。(※実際のコードとは書き方が異なります)
イメージで言えば、猫と言うクラスには、猫の大まかな形や行動が記入されており、
例えば、神様が、猫を作ろうとした時には、これをひな形として利用します。
そこに、どんな猫なのかを細かく設定しすることで、指定された猫(ここではミケ)が誕生します。
また、新しい猫を作ろうと思ったら、猫のクラスをひな形として呼び出して、そこに新しい設定を入れることで、新しい猫を誕生させることができます。
このミケと新しい猫は、もともと同じひな形から生まれましたが、それぞれ別の猫生を歩んで行く別の個体となります。
オブジェクト指向とは、ここで言う、猫のクラスのように、共通する特徴をまとめて、ひな形を作り上げることです。