Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 抽象クラスと設計図 | 継承
Pythonにおけるオブジェクト指向プログラミング

book抽象クラスと設計図

メニューを表示するにはスワイプしてください

抽象基底クラス(ABC)は、Pythonで柔軟かつ堅牢なオブジェクト指向システムを設計するための強力なツール。サブクラスが従うべき明確な契約を定義することで、保守性の高いコードの作成を支援。

123456789101112131415161718192021222324
from abc import ABC, abstractmethod class PaymentMethod(ABC): @abstractmethod def pay(self, amount): pass class CreditCard(PaymentMethod): def pay(self, amount): return f"Paid {amount} using Credit Card" class PayPal(PaymentMethod): def pay(self, amount): return f"Paid {amount} using PayPal" def process_payment(method: PaymentMethod, amount): return method.pay(amount) print(process_payment(CreditCard(), 100)) print(process_payment(PayPal(), 250))
copy

PaymentMethod抽象基底クラス。すべての支払いタイプが実装しなければならない必須メソッドpayを定義。CreditCardPayPalは具象サブクラスであり、それぞれ独自のpayメソッドを提供しつつ、同じインターフェースに従う。

Note
注意

関数 process_payment は、特定のクラスではなく、共通の抽象契約に依存しているため、どの支払い方法にも対応可能。

question mark

抽象クラスと具体クラスの主な違いは何か?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  6

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  6
some-alt