クラスの継承を探索する
このステップでは、オブジェクト指向プログラミング (OOP) の基本的な概念であるクラスの継承について学びます。継承を使うと、既存のクラス (親クラス) から属性とメソッドを継承する新しいクラス (子クラス) を作成できます。これによりコードの再利用が促進され、より組織的で保守しやすいコードを構築するのに役立ちます。
まず、Animal
という単純な親クラスを作成しましょう。
## Create a file named animal.py in the ~/project directory
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("Generic animal sound")
VS Code エディタを開き、~/project
ディレクトリに animal.py
という名前の新しいファイルを作成します。上記のコードをファイルにコピーして貼り付けます。このクラスには、name
属性を初期化する __init__
メソッド (コンストラクタ) と、一般的な動物の鳴き声を出力する speak
メソッドがあります。
次に、Animal
クラスを継承する Dog
という子クラスを作成しましょう。
## Add the following code to animal.py
class Dog(Animal):
def speak(self):
print("Woof!")
上記のコードを animal.py
ファイルに追加します。Dog
クラスは、クラス名の後の括弧内に Animal
を指定することで Animal
を継承しています。Dog
クラスはまた、speak
メソッドをオーバーライドして独自の具体的な実装を提供しています。
次に、同じく Animal
クラスを継承する Cat
という別の子クラスを作成しましょう。
## Add the following code to animal.py
class Cat(Animal):
def speak(self):
print("Meow!")
上記のコードを animal.py
ファイルに追加します。Cat
クラスも Animal
を継承し、speak
メソッドをオーバーライドしています。
では、これらのクラスを使用するメインプログラムを作成しましょう。
## Create a file named main.py in the ~/project directory
from animal import Animal, Dog, Cat
animal = Animal("Generic Animal")
dog = Dog("Buddy")
cat = Cat("Whiskers")
animal.speak()
dog.speak()
cat.speak()
~/project
ディレクトリに main.py
という名前の新しいファイルを作成し、上記のコードをファイルにコピーして貼り付けます。このプログラムは、animal.py
ファイルから Animal
、Dog
、Cat
クラスをインポートします。そして、各クラスのインスタンスを作成し、それらの speak
メソッドを呼び出します。
プログラムを実行するには、VS Code のターミナルを開き、~/project
ディレクトリに移動します。
cd ~/project
次に、python コマンドを使用して main.py
スクリプトを実行します。
python main.py
以下の出力が表示されるはずです。
Generic animal sound
Woof!
Meow!
これは、Dog
クラスと Cat
クラスが Animal
クラスを継承し、speak
メソッドの独自の具体的な実装を提供する方法を示しています。これは Python でのクラス継承の基本的な例です。