Što je apstraktna klasa u C#? | Definicija, svojstva nasuprot primjerima

Apstrakcija u programiranju odnosi se na prikrivanje nepotrebnih, iako vrlo važnih informacija i stavljanje samo određenih ključnih ili potrebnih informacija vidljivih korisniku. To je omogućeno korištenjem apstraktnih klasa.

Apstraktna klasa u C# je u biti klasa koja ne dopušta stvaranje objekta. 'Sažetak' je ključna riječ ili modifikator koji uzrokuje da određena klasa ili metoda bude apstraktna ili ograničena. Apstraktnoj klasi se može pristupiti samo putem nasljeđivanja od druge klase.

Ključni za poneti

  1. Apstraktne klase su nepotpune klase koje se ne mogu instancirati već služe kao baza za nasljeđivanje drugih.
  2. Sadrže barem jednu čistu virtualnu funkciju, što znači da nema implementaciju i mora biti definirana bilo kojom izvedenom klasom.
  3. Apstraktne klase mogu imati varijable članice i funkcije članice s implementacijom, ali im se ne može pristupiti preko objekata apstraktne klase.

Svojstva i komponente apstraktne klase u C#

Određeni čimbenici moraju postojati da bi se apstraktna klasa pokrenula ili joj se pristupilo. Oni su navedeni kako slijedi.

  1. Apstraktna klasa stvara osnovnu klasu kojoj obično pristupa nekoliko izvedenih klasa. Programeri moraju stvoriti izvedenu klasu da bi koristili ili implementirali apstraktnu klasu.
  2. Apstraktnu klasu stoga moraju naslijediti podklase, koje čak mogu nadjačati funkciju.
  3. Svaka apstraktna klasa zahtijeva najmanje jednu apstraktnu metodu.

Primjer apstraktne klase u C#

Budući da je mehanizam kompliciran i razumljiv samo onima koji su upoznati s programiranjem jezik, bolje je započeti s jednostavnim primjerom koji će vam pomoći objasniti koncept.

Također pročitajte:  Phishing naspram spoofinga: razlika i usporedba

Pretpostavimo da postoji klasa 'Stablo' s postojećom dizajniranom metodom poznatom kao 'tip'. Ništa drugo nije definirano, niti su navedene nikakve druge posebne informacije – ne zna se vrsta stabla ili mogući tipovi.

Ako je dostupan određeni primjer stabla, tada se stvara zasebna klasa nasljeđivanjem osnovne klase, Stabla. Ideja je da nova klasa, recimo Pine ili Hrast, ne može modificirati konstrukciju ili definiciju osnovne klase, odnosno stabla. Mora stvoriti svoju klasu, izvedenu iz klase Stablo, i definirati drugu metodu naslijeđenu iz baze.

Prednosti apstraktne klase u C#

  1. Dok potklase mogu odabrati implementaciju ili nadjačavanje apstraktne klase, određene izmjene mogu se napraviti koje zahtijevaju implementaciju određene funkcije.
  2. Stoga postoji veliki stupanj fleksibilnosti pri dizajniranju apstraktne klase u pogledu toga koje metode moraju biti imperativno implementirane.
  3. Programer može odabrati koliko apstraktnih metoda želi u apstraktnoj klasi. Također je moguće napisati kod bez uključivanja apstraktnih metoda.
  4. Apstraktna klasa mora biti definirana samo jednom i može joj se pristupiti ili iz nje se može izvesti onoliko puta koliko je potrebno.
  5. Apstraktna klasa je vrlo korisna kada postoji skup klasa koje imaju određeni stupanj sličnosti, ali se razlikuju u implementaciji apstraktne klase.

Nedostaci apstraktne klase u C#

  1. Apstraktna klasa može se dodati u hijerarhiju klasa samo ako apstraktne klase ne postoje.
  2. Objekti bilo koje apstraktne klase mogu se samo referencirati, nikada se ne mogu kreirati.
  3. Iako se apstraktne klase ne mogu instancirati, ne dopuštaju statičke varijable ili metode.
Reference
  1. https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
  2. https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Također pročitajte:  Blender vs Maya: razlika i usporedba

Zadnje ažuriranje: 11. lipnja 2023

točka 1
Jedan zahtjev?

Uložio sam mnogo truda u pisanje ovog posta na blogu kako bih vam pružio vrijednost. Bit će mi od velike pomoći ako razmislite o tome da to podijelite na društvenim medijima ili sa svojim prijateljima/obitelji. DIJELJENJE JE ♥️

23 mišljenja o “Što je apstraktna klasa u C#? | Definicija, svojstva nasuprot primjerima”

  1. Članak lijepo ocrtava prednosti i nedostatke. Opsežna referenca za svakoga tko je zainteresiran za učenje o apstraktnim klasama u C#.

    odgovor
  2. Smatram da je fleksibilnost dizajniranja apstraktne klase vrlo intrigantna. Ovaj je članak na jasan i razumljiv način predstavio i prednosti i mane.

    odgovor

Ostavite komentar

Želite li spremiti ovaj članak za kasnije? Kliknite srce u donjem desnom kutu da biste ga spremili u svoj okvir za članke!