0Pricing
Python For Kids · レッスン

継承

他のクラスからプロパティを継承する方法を学びます。

「継承」はCoddyKit上の無料Python For Kidsレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython For Kids学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python For Kidsコースには全5レッスンが含まれています。

継承

オブジェクト指向プログラミング(OOP)のレッスンへようこそ。ここでは、クラスが他のクラスからプロパティと振る舞いを継承できる、Pythonの強力な機能である継承について学びます。

継承 — イラスト1

継承とは

継承はOOPの基本概念の1つで、新しいクラス(子クラスまたはサブクラス)が既存のクラス(親クラスまたはスーパークラス)の属性とメソッドを取得できるようにします。これによりコードの再利用が促進され、クラス間に自然な階層が形成されます。

  • 親クラス: 継承元となるクラスです。
  • 子クラス: 親クラスから継承するクラスです。

Pythonで継承がどのように機能するかを見ていきましょう。

継承のメリット

継承には、次のようなメリットがあります。

  • コードの再利用性: 既存のコードを書き直さずに再利用できます。
  • 保守性: コードの更新や管理が容易になります。
  • 階層構造: クラス間に論理的な関係を構築できます。

それでは、Pythonで継承を実装する方法を見てみましょう。

親クラスの定義

まず、子クラスが継承できる共通の属性とメソッドを含む親クラスを定義します。

例:

# Defines the Animal parent class
class Animal:
    def __init__(self, name):
        self.name = name  # Sets the name of the animal

    def speak(self):
        print(self.name + " makes a sound.")  # Generic speak method

子クラスの作成

次に、親クラスを継承する子クラスを作成します。子クラスには、追加の属性やメソッドを定義したり、既存のものをオーバーライドしたりできます。

例:

# Defines the Dog child class inheriting from Animal
class Dog(Animal):
    def speak(self):
        print(self.name + " says Woof!")  # Overrides the speak method

子クラスの使用

次に、子クラスのオブジェクトを作成し、親クラスからプロパティとメソッドを継承する仕組みを確認しましょう。

例:

# Creates an object of the Dog class
my_dog = Dog("Buddy")

# Calls the speak method
my_dog.speak()  # Output: Buddy says Woof!

多重継承

Pythonでは、クラスが複数の親クラスから継承し、それらの属性とメソッドを組み合わせることができます。これを多重継承といいます。

  • 親クラス: プロパティとメソッドの継承元となるすべてのクラスです。

例:

# Defines the Flyer parent class
class Flyer:
    def fly(self):
        print("I can fly!")

# Defines the Swimmer parent class
class Swimmer:
    def swim(self):
        print("I can swim!")

# Defines the Duck child class inheriting from both Flyer and Swimmer
class Duck(Flyer, Swimmer):
    def speak(self):
        print("Quack!")

多重継承の使用

Duckクラスのオブジェクトを作成し、両方の親クラスからメソッドを継承する仕組みを確認しましょう。

例:

# Creates an object of the Duck class
donald = Duck()

# Calls methods inherited from both parent classes
donald.fly()    # Output: I can fly!
donald.swim()   # Output: I can swim!

# Calls the speak method defined in the Duck class
donald.speak()  # Output: Quack!
# Defines the Vehicle parent class
class Vehicle:
    def __init__(self, brand):
        self.brand = brand  # Sets the brand of the vehicle

    def drive(self):
        print(self.brand + " is driving.")

# Defines the Car child class inheriting from Vehicle
class Car(Vehicle):
    def drive(self):
        print(self.brand + " is driving a car.")

# Creates an object of the Car class
my_car = Car("Toyota")

# Calls the drive method
my_car.drive()

よくできました!

Pythonで継承を使用し、親クラスからプロパティとメソッドを継承する子クラスを作成する方法を学びました。継承を使うと、整理された再利用可能なコードを構築でき、プログラムをより効率的で管理しやすくできます。自分でクラスを作成し、さまざまな継承のパターンを試しながら、練習を続けてください。

継承 — イラスト10

よくある質問

「継承」レッスンは無料ですか?

はい。「継承」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python For Kidsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python For Kidsコースには全5レッスンが含まれています。

「継承」で何を学びますか?

他のクラスからプロパティを継承する方法を学びます。 ブラウザで直接実行するハンズオンコードでPython For Kidsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Python For Kidsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのPython For Kidsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/5です。

「継承」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このPython For Kidsレッスンでコードを書いて実行できますか?

はい。すべてのPython For Kidsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. OOP入門
  2. クラスとオブジェクトを作成する
  3. 継承
  4. カプセル化
  5. ポリモーフィズム
← Python For Kidsに戻る