Periytyminen
Opetelkaa käyttämään periytymistä toiminnallisuuden uudelleenkäyttöön ja laajentamiseen.
Periytyminen on ilmainen Python Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/6. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Python Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Python Academy-kurssilla on yhteensä 6 oppituntia.
Johdatus perintään
Perintä on olio-ohjelmoinnin (OOP) keskeinen käsite. Sen avulla luokka (aliluokka) voi periä attribuutteja ja metodeja toiselta luokalta (yliluokalta). Se edistää koodin uudelleenkäyttöä ja tekee koodista järjestelmällisempää.
Tässä oppitunnissa opitte toteuttamaan perintää Pythonissa ja ymmärtämään sen hyödyt.

Yliluokan määrittäminen
Yliluokka on perusluokka, josta muut luokat perivät. Se määritellään kuten mikä tahansa muukin luokka:
# Defining a superclass
class Animal:
def speak(self):
print("Animal speaks")Aliluokan luominen
Aliluokka perii attribuutit ja metodit yliluokalta. Määritä aliluokka välittämällä yliluokan nimi parametrina:
# Defining a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")Metodien ylikirjoittaminen
Aliluokka voi ylikirjoittaa yliluokan metodeja tarjotakseen tietyn toiminnan:
# Overriding methods in a subclass
class Dog(Animal):
def speak(self):
print("Dog barks")
animal = Animal()
animal.speak() # Outputs: Animal speaks
dog = Dog()
dog.speak() # Outputs: Dog barks<code>super()</code>-funktion käyttäminen
super()-funktion avulla voitte kutsua yliluokan metodeja aliluokassa:
# Using super() to call superclass methods
class Dog(Animal):
def speak(self):
super().speak()
print("Dog barks")Moniperintä
Python tukee moniperintää, jossa aliluokka voi periä ominaisuuksia useammalta kuin yhdeltä yliluokalta:
# Example of multiple inheritance
class Flyer:
def fly(self):
print("Flying")
class Swimmer:
def swim(self):
print("Swimming")
class Duck(Flyer, Swimmer):
passLuokkien suhteiden tarkistaminen
Voitte tarkistaa luokkien suhteita isinstance()- ja issubclass()-funktioiden avulla.
# Checking class relationships
# Checking if an object is an instance of a class
print(isinstance(Dog(), Dog)) # Outputs: True
# Checking if a class is a subclass of another
print(issubclass(Dog, Animal)) # Outputs: TrueYleisiä virheitä perinnän käytössä
Tässä on virheitä, joita kannattaa välttää:
- Metodien ylikirjoittaminen kutsumatta tarvittaessa
super()-funktiota. - Moniperinnän metodien ratkaisujärjestyksen (MRO) sekoittaminen.
- Perinnän käyttäminen silloin, kun kompositio voisi olla parempi vaihtoehto.
Mitä opimme?
Tässä oppitunnissa opitte:
- Kuinka yliluokkia ja aliluokkia määritellään.
- Kuinka metodeja ylikirjoitetaan ja
super()-funktiota käytetään. - Kuinka moniperintä toimii Pythonissa.
Hienosti tehty! Siirrytään seuraavaan aiheeseen.

Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 76
- Oppitunnit
- 320
Usein kysytyt kysymykset
Onko oppitunti ”Periytyminen” ilmainen?
Kyllä – oppitunnin ”Periytyminen” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Python Academy-kurssin, päivitä CoddyKit PROhon. Python Academy-kurssilla on yhteensä 6 oppituntia.
Mitä opin oppitunnilla ”Periytyminen”?
Opetelkaa käyttämään periytymistä toiminnallisuuden uudelleenkäyttöön ja laajentamiseen. Harjoittelet Python Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Python Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Python Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/6.
Kuinka kauan ”Periytyminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Python Academy-oppitunnilla?
Kyllä. Jokainen Python Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Luokat ja oliot
- Attribuutit ja metodit
- Periytyminen
- Monimuotoisuus
- Kapselointi ja abstraktio
- Erikoismetodit (__str__, __repr__ jne.)