Úvod do dedičstva v C #

Dedičnosť v C # je proces získania všetkých vlastností jednej triedy do inej triedy. Existujú dve triedy, ktoré sa označujú ako základná a odvodená trieda. Základná trieda je tiež známa ako rodičovská trieda a vlastnosti alebo metódy tejto triedy, ktoré chceme dediť inej triede.

Odvodená trieda je známa ako podradená trieda, ktorá sa používa na dedenie vlastností a metód základnej triedy alebo rodičovskej triedy. Pomáha pri opätovnom použití toho istého kódu a nie je potrebné znovu a znovu definovať rovnaké vlastnosti.

Dedičnosť je jedným z mocných konceptov alebo základných atribútov objektovo orientovaného programovacieho jazyka. Je široko používaný vo všetkých programovacích jazykoch založených na OOP. Jeho hlavným účelom je opätovné použitie rovnakého kódu. Príklad základnej štruktúry dedičstva je uvedený nižšie:

class BaseClass ( )
class ChildClass: BaseClass ()

Druhy dedičnosti v jazyku C #

Existujú rôzne typy dedičstva v jazyku C #:

1. Dedičstvo na jednej úrovni

V Single dedičstve je iba jedna základná trieda a jedna odvodená trieda. Znamená to, že podradená trieda zdedí vlastnosti nadradenej triedy a použije ju.

Príklad:
class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)

2. Viacúrovňové dedičstvo

V tomto type dedičstva existuje iba jedna základná trieda a je k dispozícii viacero odvodených tried. Ak je trieda vytvorená pomocou inej odvodenej triedy, nazýva sa viacúrovňové dedičstvo.

Príklad:

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : ChildClass
(
public void Hi()
(
)
)

3. Viacnásobné dedičstvo

V tomto type dedičstva sa to dá dosiahnuť pomocou viacerých rozhraní, nie pomocou triedy. Jednoducho povedané, C # nepodporuje viacnásobné dedičstvo, ale ak to chcete dosiahnuť, dá sa to dosiahnuť iba pomocou rozhraní.

Príklad:

Interface A ()
Interface B ()
Class C: A, B ()

4. Hierarchické dedičstvo

V tomto type dedičstva existuje jedna rodičovská trieda a ďalšie odvodené triedy zdedia tú istú rodičovskú triedu, aby sa toto dedičstvo dosiahlo.

Príklad :

class BaseClass
(
public void hello()
(
Console.WriteLine("Parent's Hello Method");
)
)
class ChildClass : BaseClass
(
public void World()
(
Console.WriteLine("Child's World Method");
)
)
class SecondChildClass : BaseClass
(
public void Hi()
(
)
)

Výhody dedičstva

Výhody dedičstva sú:

  • Pomáha pri opätovnom použití toho istého kódu.
  • Znižuje to redundanciu kódu.
  • Pomáha pohodlnejšie čítanie kódu.
  • Znižuje sa tým aj veľkosť zdrojového kódu a súboru.
  • Pomáha pri zabezpečovaní rozšíriteľnosti kódu.
  • Spravovanie kódu je ľahké, pretože je rozdelené do tried základnej triedy a podradenej triedy.
  • Súkromní členovia nie sú prístupní v odvodenej triede, keď členovia základnej triedy zdedí odvodená trieda.
  • Nepodporuje viacnásobné dedičstvo, ale možno ho dosiahnuť prostredníctvom rozhraní.
  • Pomáha dosiahnuť polymorfizmus, ktorý umožňuje objektu reprezentovať viac ako jeden typ.
  • Pomáha pri rozdelení veľkého kódu na malé kúsky.

Vlastnosti dedičstva

Medzi vlastnosti dedičstva patria:

  • Dedičnosť môže byť použitá na zabránenie priamej inštancie triedy a na dosiahnutie tohto abstraktného kľúčového slova bolo použité.
  • Členovia základnej triedy môžu byť prístupní v odvodenej triede s výnimkou členov súkromného kľúča.
  • Členovia základnej triedy môžu byť zdedení v odvodenej triede okrem konštruktora a deštruktora.
  • V prípade C # musia virtuálne metódy základnej triedy používať odvodené kľúčové slovo v odvodenej triede.
  • V C #, aby sa zabránilo dedeniu triedy, ktorú možno deklarovať pomocou zapečateného kľúčového slova.
  • Ak sa zdedení členovia musia v odvodenej triede skryť s rovnakým menom a podpisom, musí byť táto metóda definovaná pomocou nového kľúčového slova.

Prečo používať dedičnosť a ako uľahčuje prácu?

Dedičnosť sa používa, keď je potrebné použiť rovnaký kód v inej triede. Namiesto toho, aby sme písali rovnaký kód, znova a znova existuje koncept objektovo orientovaného programovania, ktorým je dedičnosť, ktorá pomáha pri používaní rovnakej funkcionality, ako sú metódy alebo vlastnosti jednej triedy druhej triede. Pomocou bodkočiarky (:) môžeme zdediť členov základnej triedy do podradenej triedy alebo odvodenej triedy.

Ľahko sa s tým pracuje, pretože pomáha predchádzať zámene volania metódy, z ktorej sa volá metóda triedy. Vďaka tomu je kód znovu použiteľný a jeho hmotnosť je ľahšia s menším počtom riadkov zdrojového kódu. Vďaka tomu je kód menej redundantný a flexibilnejší na použitie v rôznych triedach. Zachováva štruktúru programu, ktorá pomáha pri ľahkom čítaní kódu.

Záver - Dedičnosť v C #

  • Dedičnosť je najčastejšie používaným konceptom objektovo orientovaného programovania vo všetkých jazykoch založených na OOP a podobne ako v C #. Pomáha vývojárovi dosiahnuť veľa vecí a robí kód hladším a čitateľným.
  • Polymorfizmus je ďalší koncept oops, ktorý sa dá dosiahnuť iba pomocou dedičstva. Väčšina problémov sa vyriešila spojením týchto dvoch konceptov.
  • V dedičstve sú základná trieda a odvodená trieda pevne spojené, akoby nastala nejaká zmena v základnej triede, automaticky sa tým ovplyvní celá podradená trieda. Dedičnosť sa musí používať veľmi opatrne, pretože ak členovia údajov nie sú správne využívaní a je im pridelená pamäť, potom to ovplyvňuje výkon aplikácie.
  • Existujú rôzne úrovne dedičnosti, ktoré sa používajú pri programovaní alebo vývoji aplikácie. Môže byť implementovaný v akomkoľvek type aplikácie, ako sú webové alebo stolné aplikácie. Závisí to od vývojára, ako a kde použiť dedičstvo, pretože poskytuje veľkú flexibilitu, vlastnosti a pomáha dosiahnuť veci.

Odporúčané články

Toto bol sprievodca Dedičnosťou v C #. Tu sme diskutovali o úvodu, druhoch, výhodách a vlastnostiach dedičstva v jazyku C #. Viac informácií nájdete aj v ďalších navrhovaných článkoch.

  1. Dedičstvo vo VB.Net
  2. Čo je multithreading v jazyku C #?
  3. C # Príkazy
  4. C # vs JavaScript
  5. Dedičnosť v jazyku Java
  6. Metódy viacvláknového spracovania v C #

Kategórie: