クラスを使いこなそう!

はじめに

日常生活で私たちが目にする多くのものや生き物、たとえばペットの犬や家のテレビ、友人の自動車など、これらすべてには共通の特徴や動作が存在します。しかし、それぞれの犬やテレビ、車には独自の名前やスペック、色などの個別の特徴がありますよね。プログラミングの世界でこのような概念を表現するためのツールが「クラス」です。この記事では、「クラス」とは何か、どのように Python で使用するのかを、具体的な日常の例を用いて詳しく説明していきます。

クラスとは?

クラスを理解するために、まずは「設計図」という考え方を思い浮かべてみてください。家を建てるときには設計図が必要ですよね。この設計図には、家の大きさや部屋の数、窓の位置などの基本的な情報が書かれています。しかし、設計図だけでは家は建ちません。設計図をもとにして、実際に家を建てる作業が必要です。

この例でいうと、クラスは「設計図」の役割を果たし、この設計図を元に作成される「実際の家」がクラスの「インスタンス」となります。

クラスの定義とインスタンス化

犬を例にとって、クラスを定義してみましょう。犬には名前や年齢、そして「鳴く」という動作があります。

class Dog:
    # 初期化メソッド
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 犬が吠える動作
    def bark(self):
        return f"{self.name}は吠えます!"

# ポチという名前の3歳の犬を作成
pochi = Dog("ポチ", 3)
print(pochi.bark())

出力結果:

ポチは吠えます!

続いて、テレビを表すクラスを考えてみましょう。テレビには「ブランド」と「画面サイズ」があり、また「電源をつける」という動作ができるとします。

class Television:
    # 初期化メソッド
    def __init__(self, brand, screen_size):
        self.brand = brand
        self.screen_size = screen_size

    # テレビの電源をつける動作
    def turn_on(self):
        return f"{self.brand}のテレビをつけます!"

# ソニーの32インチテレビを作成
sony_tv = Television("ソニー", 32)
print(sony_tv.turn_on())

出力結果:

ソニーのテレビをつけます!

クラスの特性

  1. 属性: クラス内で定義される変数のようなもの。犬の例では「名前」や「年齢」、テレビの例では「ブランド」や「画面サイズ」がそれに該当します。
  2. メソッド: クラス内で定義される関数のようなもの。犬の例では「鳴く」という動作を表すbarkメソッド、テレビの例では「電源をつける」という動作を表すturn_onメソッドがそれに該当します。

まとめ

クラスは、プログラミングにおける「設計図」としての役割を持ち、その設計図を元に具体的な「もの」や「生き物」を作成する際の基盤となります。日常生活の中で見かけるさまざまなものや生き物をプログラムで表現するとき、クラスをうまく利用することで、効率的に、そしてわかりやすくコードを書くことができます。Python でのクラスの定義や使い方をしっかりと理解し、より高度なプログラミングの世界に足を踏み入れましょう。

created by NA