Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Introduction to Inheritance | Perinnän yleiskatsaus
C++ OOP

Introduction to Inheritance

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Perintä on olio-ohjelmoinnin keskeinen käsite, jonka avulla uusi class voi periä ominaisuuksia ja toiminnallisuuksia olemassa olevalta luokalta. Perinnän kautta uusi class, jota kutsutaan usein aliluokaksi, saa olemassa olevan luokan, eli yliluokan, attribuutit ja metodit.

Perintäkonseptien ymmärtämiseksi tarkastellaan käytännön esimerkkejä. Perinnän tärkein hyöty on koodin uudelleenkäyttö. Esimerkiksi Student- ja Teacher-luokat hyödyntävät Person-luokan koodia (name, age ja display_info-metodi). Tämä vähentää toisteisuutta ja tekee koodista helpommin ylläpidettävää.

Perinnän syntaksi

Johdettu luokka määritellään luokkamäärittelyllä, jossa ilmoitetaan perittävä kantaluokka. Tämä tehdään kaksoispisteellä, jota seuraa näkyvyysmääre (public, protected tai private) ja kantaluokan nimi.

base_inheritance.h

base_inheritance.h

1234567
class Base { // Base class members }; class Derived : public Base { // Derived class members };
  • Pohjaluokka (superluokka): class, jonka ominaisuudet ja funktiot periytyvät. Tunnetaan myös nimellä vanhempi- tai superluokka.

  • Johdettu luokka (aliluokka): class, joka perii vanhemmalta luokalta. Tunnetaan myös nimellä lapsi- tai aliluokka.

  • Suojausmääre (access specifier): tämä määrittää, miten pohjaluokan jäsenet periytyvät johdetulle luokalle.

  • Perintä: kaksoispiste (:) ja sitä seuraava accessSpecifier ja BaseClass ilmaisevat, että DerivedClass perii BaseClass:sta.

Perinnän tyypit

Perintää on useita eri tyyppejä. Jokainen tyyppi tarjoaa oman tapansa luoda suhteita luokkien välille ja muodostaa pohjan tehokkaalle olio-ohjelmoinnille. Tässä ovat tärkeimmät perinnän tyypit:

question mark

Mitkä luokat soveltuvat Person-luokan koodin uudelleenkäyttöön?

Valitse kaikki oikeat vastaukset

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Osio 4. Luku 1
some-alt