Razlika između klase i sučelja

Ključna razlika - klasa vs sučelje
 

Objektno orijentirano programiranje (OOP) uobičajena je paradigma u razvoju softvera. To pomaže privesti scenarije u stvarnom svijetu programiranja pomoću klasa i objekata. Klasa je nacrt za stvaranje predmeta. Programer može stvoriti klasu sa svojstvima i metodama. Učenik i učitelj su predmeti. Stvaranje objekta poznato je kao utjelovljenje. OOP također koristi sučelja. Sučelja i klasa mogu se činiti sličnima, ali imaju razliku. Ovaj članak govori o razlici između klase i sučelja. ključna razlika između klase i sučelja je to klasa je referentna vrsta koja je nacrt za izradu objekta, dok je sučelje referentne vrste koja se ne može koristiti za izradu objekta.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je klasa
3. Što je sučelje
4. Sličnosti između klase i sučelja
5. Usporedna usporedba - klasa u odnosu na sučelje u tabličnom obliku
6. Sažetak

Što je klasa?

U OOP-u se sve smatra objektom. Nije moguće stvoriti objekt bez klase. Klasa je nacrt za stvaranje predmeta. Prilikom gradnje kuće, arhitekt crta plan. Plan je sličan razredu. Kuća je slična objektu. Klasa je plan izgradnje objekta. Objekt je ono što se stvara pomoću klase.

Klasa sadrži svojstva i metode. Učenik može imati svojstva poput imena, ocjene, broja indeksa. Učenik može imati metode poput čitanja, hodanja, učenja. Stvara se klasa s potrebnim svojstvima i metodama.

Sintaksa za stvaranje klase u mnogim programskim jezicima je sljedeća. Stvara se pomoću klase ključnih riječi.

class class_name

// Svojstva

// metoda

Programski jezici kao što su C # i Java slijede sličnu sintaksu za stvaranje objekta pomoću klase. Pretpostavimo da je ime klase Student.

Student s1 = novi Student ();

Ovaj s1 je objekt. "Nova" ključna riječ koristi se za dodjelu memorije za svojstva. Klasa također ima konstruktor za inicijalizaciju svojstava ili varijabli.

Članovi klase, kao što su svojstva i metode, imaju modifikatore pristupa. Specifičari pristupa opisuju dostupnost i vidljivost tih članova drugim razredima. Pripadnici klase mogu imati odreditelje pristupa kao što su javni, privatni i zaštićeni. Javnim članovima dostupni su i drugi časovi. Privatni članovi dostupni su samo razredu. Zaštićeni članovi dostupni su unutar klase i relevantnih podrazreda.

Što je sučelje?

Apstrakcija je stup objektno orijentiranog programiranja. To je sakriti detalje implementacije i korisniku prikazati funkcionalnost. Apstrakcija se postiže apstraktnim klasama i sučeljima. Apstraktna metoda nema primjenu. Klasa koja sadrži barem jednu apstraktnu metodu naziva se apstraktna klasa.

Kad postoje dvije apstraktne klase, treba primijeniti metode deklarirane u tim klasama. Za primjenu tih metoda koristi se nova klasa. Ako su obje klase imale istu metodu, to bi moglo uzrokovati problem nejasnoće. Stoga programski jezici kao što su Java i C # imaju sučelje.

Sučelja sadrže samo deklaraciju metoda. Ne postoji metoda provedbe. Također, sučelja se ne mogu koristiti za stvaranje objekata. Koriste se za podršku više nasljeđivanja i za osiguravanje koda.

Sintaksa sučelja je sljedeća. Sučelje koristi ključnu riječ "sučelje".

ime sučelja sučelja

vrsta metoda1 (popis_popisa);

vrsta metoda2 (popis_popisa);

Prema gore navedenom, sučelja imaju samo deklaraciju. Ne postoji definicija. Dakle, sučelja ne mogu instancirati objekte. On daje samo apstraktni prikaz onoga što je sučelje. Metode deklarirane na sučelju mogu se implementirati putem jedne ili više klasa. Klasa koristi ključnu riječ "implementirati" za implementaciju sučelja. Pogledajte donji primjer napisan pomoću Java.

Slika 01: Program pomoću sučelja

Prema gore navedenom programu, A i B su sučelja. Sučelje A ima deklaraciju metode koja je zbroj (). Sučelje B ima pod () deklaraciju metode. Klasa C implementira oba sučelja koja su A i B. Stoga, klasa C definira i metode zbroja () i sub (). Nakon stvaranja objekta tipa C, moguće je obje metode nazvati sum () i sub ().

Metode deklarirane unutar sučelja moraju uvijek biti javne jer ih klase implementacije definiraju. Sučelje se također može naslijediti s drugog sučelja.

Koje su sličnosti između klase i sučelja?

  • Obje su referentne vrste.
  • Oba se odnose na objektno orijentirano programiranje.

Koja je razlika između klase i sučelja?

Razred prema sučelju

Klasa je referentna vrsta koja je nacrt za stvaranje objekta. Sučelje je referentne vrste koja se ne može instancirati.
 Instanttiation objekta
Klasa se koristi za instanciranje objekta. Sučelje se ne može instancirati jer metode nisu u stanju izvesti nijednu radnju.
Konstruktor
Klasa sadrži konstruktor za inicijalizaciju varijabli. Sučelje ne sadrži konstruktor jer su jedva ikakve varijable koje bi se inicijalizirale.
 Riječ
Klasa koristi ključnu riječ "klasa". Sučelje koristi ključnu riječ "sučelje".
Specifikator pristupa
Pripadnici klase mogu biti privatni, javni i zaštićeni. Članovi sučelja trebaju biti uvijek javni jer ih implementacijska klasa definira.

Sažetak - Razred vs sučelje

Klase i sučelja se široko koriste u objektno orijentiranom programiranju. Razlika između klase i sučelja je u tome što je klasa referentnog tipa koji je nacrt za instanciranje objekta, a sučelje je referentni tip koji se ne može koristiti za instanciranje objekta. Razred može implementirati mnoga sučelja. Ali može proširiti samo jedan superklasa. U sučelju se mogu naslijediti mnoga sučelja, ali ne može biti implementacija. Oboje imaju svoju važnost. Programer ih može koristiti prema razvoju softvera.

Preuzmite PDF klasu i sučelje

Možete preuzeti PDF verziju ovog članka i koristiti je za izvanmrežne svrhe, prema napomeni. Molimo preuzmite PDF verziju ovdje Razlika između klase i sučelja

Referenca:

1.tutorialspoint.com. "Objekti i klase Java.", Točka. Dostupno ovdje 
2.navinreddy20. Sučelje u Javi s primjerom, Java By Navin Reddy, 11. prosinca 2012. Dostupno ovdje