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, який має бути реалізований у кожному типі оплати. CreditCard і PayPal — це конкретні підкласи. Вони надають власні версії методу pay, але дотримуються одного інтерфейсу.

Note
Примітка

Функція process_payment працює з будь-яким способом оплати, оскільки спирається на спільний абстрактний контракт, а не на конкретні класи.

question mark

У чому основна відмінність між абстрактним і конкретним класом?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 6
some-alt