Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Abstraktit Luokat ja Suunnitelmat | Periytyminen
Olio-ohjelmointi Pythonissa

bookAbstraktit Luokat ja Suunnitelmat

Pyyhkäise näyttääksesi valikon

Abstraktit kantaluokat (ABC:t) ovat tehokas työkalu Pythonissa joustavien ja vankkojen olio-ohjelmointijärjestelmien suunnitteluun. Ne auttavat luomaan ylläpidettävää koodia määrittelemällä selkeät sopimukset, joita aliluokkien on noudatettava.

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 on abstrakti kantaluokka. Se määrittelee vaaditun metodin, pay, joka jokaisen maksutyypin on toteutettava. CreditCard ja PayPal ovat konkreettisia aliluokkia. Ne tarjoavat omat versionsa pay-metodista, mutta noudattavat samaa rajapintaa.

Note
Huomio

Funktio process_payment toimii minkä tahansa maksutavan kanssa, koska se perustuu yhteiseen abstraktiin sopimukseen, ei tiettyihin luokkiin.

question mark

Mikä on keskeinen ero abstraktin ja konkreettisen luokan välillä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 6
some-alt