Uvod u nasljeđivanje u C #

Nasljeđivanje u C # postupak je stjecanja svih svojstava jedne klase u drugu klasu. Postoje dvije klase koje se nazivaju osnovna klasa i izvedena klasa. Bazna klasa je također poznata kao nadređena klasa te svojstva ili metode ove klase koje želimo naslijediti drugoj klasi.

Derivirana klasa poznata je kao podređena klasa koja se koristi za nasljeđivanje svojstava i metoda osnovne klase ili roditeljske klase. To pomaže u ponovnoj upotrebi istog koda i nema potrebe definirati ista svojstva iznova i iznova.

Nasljeđivanje je jedan od moćnih koncepata ili temeljnih atributa objektno programskog jezika. Naširoko se koristi u svim programskim jezicima utemeljenim na OOP-u. Njegova je glavna svrha ponovno korištenje istog koda. Primjer osnovne strukture nasljeđivanja dan je u nastavku:

class BaseClass ( )
class ChildClass: BaseClass ()

Vrste nasljeđivanja u C #

U C # postoje različite vrste nasljeđivanja:

1. Nasljeđivanje na jednom nivou

U Pojedinačnom nasljeđivanju postoji samo jedna osnovna klasa i jedna izvedena klasa. To znači da će dječja klasa naslijediti svojstva roditeljske klase i koristiti je.

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

2. Nasljeđivanje na više nivoa

U ovoj vrsti nasljeđivanja postoji samo jedna osnovna klasa i više izvedenih klasa su dostupne. Ako je klasa stvorena pomoću druge izvedene klase, poznata je kao višeslojno nasljeđivanje.

Primjer:

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. Višestruko nasljeđivanje

Kod ove vrste nasljeđivanja to se može postići uz pomoć višestrukog sučelja, a ne s klasom. Jednostavnim riječima, C # ne podržava više nasljeđivanja, ali ako to želite postići, to se može postići samo uz pomoć sučelja.

Primjer:

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

4. Hijerarhijsko nasljeđivanje

U ovoj vrsti nasljeđivanja postoji jedna roditeljska klasa, a ostale izvedene klase nasljeđuju istu roditeljsku klasu da bi se to postiglo.

Primjer :

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()
(
)
)

Prednosti nasljeđivanja

Prednosti nasljeđivanja su:

  • To pomaže u korištenju istog koda opet znači ponovnu upotrebu koda.
  • To smanjuje suvišnost koda.
  • To vam pomaže u čitanju koda ugodnije.
  • Također smanjuje veličinu izvornog koda i datoteke.
  • Pomaže u proširivanju koda.
  • Kôdom je jednostavno upravljati jer je podijeljen na klase osnovnog i dječjeg razreda.
  • Privatnim članovima ne može se pristupiti izvedena klasa kada članovi bazne klase nasljeđuju izvedenu klasu.
  • Ne podržava više nasljeđivanja, ali može se postići sučeljima.
  • Pomaže u postizanju polimorfizma koji objektu omogućuje predstavljanje više vrsta.
  • Pomaže u podjeli velikog koda na male dijelove.

Značajke nasljeđivanja

Značajke nasljeđivanja su:

  • Nasljeđivanje se može koristiti za sprečavanje izravnog instanciranja klase, a za postizanje ove apstraktne ključne riječi se koristi.
  • Članovima osnovne klase može se pristupiti u izvedenoj klasi osim članovima privatnog ključa.
  • Članovi bazne klase mogu se naslijediti u izvedenom razredu osim konstruktora i destruktora.
  • U C #, virtualne metode bazne klase trebaju koristiti ključnu riječ preglasavanja u izvedenoj klasi.
  • U C #, kako bi se spriječilo nasljeđivanje klase koja se može deklarirati pomoću zapečaćene ključne riječi.
  • Ako naslijeđeni članovi moraju biti skriveni istim imenom i potpisom u izvedenom razredu, tada se ta metoda mora definirati novom ključnom riječi.

Zašto koristiti Nasljeđivanje i kako olakšava posao?

Nasljeđivanje se koristi kada se isti kôd mora upotrijebiti u drugoj klasi. Dakle, umjesto pisanja istog koda, iznova i iznova, postoji koncept objektno orijentiranog programiranja koje je nasljeđivanje koje pomaže u korištenju iste funkcionalnosti poput metoda ili svojstava jedne klase u drugu klasu. Uz pomoć zarezom (:), možemo članove osnovne klase naslijediti prema dječjoj ili izvedenoj klasi.

Rad na njemu je lakši jer pomaže u izbjegavanju zbrke poziva metoda iz kojih se metoda metode poziva. To čini ponovno korištenje koda i datoteku čini lakšom u težini s manjim brojem redaka izvornog koda. To kôd čini manje suvišnim i fleksibilnijim za upotrebu u različitim klasama. Zadržava strukturu programa koja pomaže u čitanju koda lako.

Zaključak - Nasljeđivanje u C #

  • Nasljeđivanje je najčešće korišteni koncept objektno orijentiranog programiranja u svim jezicima temeljenim na OOP-ima, pa tako i u C #. To pomaže programeru da postigne mnoge stvari i čini kôd glatkijim i čitljivijim.
  • Polimorfizam je drugi koncept opsa koji se može postići samo uz pomoć nasljeđivanja. Većina problema riješena je s ova dva koncepta koja idu ruku pod ruku.
  • U nasljeđivanju su osnovna klasa i izvedena klasa čvrsto povezani kao da ima promjena u osnovnoj klasi i tada će automatski utjecati sva podređena klasa. Nasljeđivanje treba koristiti vrlo pažljivo, kao da se članovi podataka ne koriste pravilno, a memorija im je dodijeljena, a zatim utječe na performanse aplikacije.
  • Postoje različite razine nasljeđivanja koje se koriste u programiranju ili razvoju aplikacije. Može se implementirati u bilo koju vrstu aplikacija poput web-aplikacija ili aplikacija utemeljenih na radnoj površini. O programeru ovisi kako i gdje koristiti nasljedstvo jer daje puno fleksibilnosti, mogućnosti i pomaže u postizanju stvari.

Preporučeni članci

Ovo je vodič za nasljeđivanje u C #. Ovdje smo raspravljali o uvodu, vrstama, prednostima i značajkama nasljeđivanja u C #. Možete i proći kroz naše druge predložene članke da biste saznali više -

  1. Nasljeđivanje u VB.Net
  2. Što je Multithreading u C #?
  3. C # naredbe
  4. C # vs JavaScript
  5. Nasljeđivanje u Javi
  6. Metode multithreading u C #

Kategorija: