Razlika između klase i sučelja u Javi

Autor: Laura McKinney
Datum Stvaranja: 2 Travanj 2021
Datum Ažuriranja: 17 Svibanj 2024
Anonim
9. Programiranje - JAVA - ECLIPSE - Apstraktne klase i Interfejsi
Video: 9. Programiranje - JAVA - ECLIPSE - Apstraktne klase i Interfejsi

Sadržaj


I klasa i sučelje koriste se za stvaranje novih referentnih vrsta. Klasa je zbirka polja i metoda koja djeluju na poljima. Sučelje ima potpuno apstraktne metode, tj. Metode s nikom. Sučelje je sintaktički slično klasi, ali postoji velika razlika između klase i sučelja koje klasa može biti izrađena, ali sučelje se nikada ne može instancirati. Naučite nas još više razlike između klase i sučelja uz pomoć usporednog grafikona prikazanog dolje.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbuklasaSučelje
Osnovni, temeljniKlasa je instancirana za stvaranje objekata.Sučelje se nikada ne može instancirati jer metode nisu u stanju izvršiti nijednu radnju pri pozivanju.
Riječklasasučelje
Specifikator pristupaČlanovi klase mogu biti privatni, javni ili zaštićeni.Članovi sučelja uvijek su javni.
metode Metode klase su definirane za izvođenje određene radnje.Metode u sučelju su čisto apstraktne.
Provesti / ProdužiteKlasa može implementirati bilo koji broj sučelja i može proširiti samo jednu klasu.Sučelje može proširiti više sučelja, ali ne može implementirati nijedno sučelje.
Konstruktor Klasa može imati konstruktore za inicijalizaciju varijabli.Sučelje nikada ne može imati konstruktor, jer jedva postoji ijedna varijabla za inicijalizaciju.


Definicija klase

Razred je najvažniji aspekt Java programiranja bez klasa koje ne možete implementirati java program. Klasa stvara referentne tipove i te se referentne vrste koriste za stvaranje objekata. Razred ima potpis i tijelo. Potpis klase ima ime i podatke klase koji govore je li klasa naslijedila drugu klasu. Tijelo klase ima polja i metode koje djeluju na tim poljima. Klasa je stvorena pomoću ključne riječi klasa, Omogućuje nam kako prijaviti klasu.

class class_name {/ * polja ... metode * /}

Kada se klasa instancira, svaki kreirani objekt sadrži kopiju polja i metoda s njima. Polja i članovi koji su deklarirani unutar klase mogu biti statični ili nestalni. Vrijednost statičkih članova konstantna je za svaki objekt dok se, ne-statički članovi, svaki objekt različito inicira u skladu s njegovim zahtjevima.

Članovi klase imaju pristupne odrednice koje odlučuju o vidljivosti i dostupnosti članova korisniku ili podrazredima. Specifičari pristupa su javni, privatni i zaštićeni. Klasu može naslijediti druga klasa koristeći pristupni odrednik koji će odlučiti o vidljivosti članova pretklasa (naslijeđena klasa) u potklasi (nasljeđujuća klasa). Tako klasa ispunjava koncept skrivanja i enkapsulacije podataka u objektno orijentiranom programiranju.


Definicija sučelja

Sučelje je također među referentnim vrstama definiranim u Javi. Važnost sučelja je da u Javi klasa može naslijediti samo jednu klasu. Kako bi izbjegli ovo ograničenje, dizajneri Java uveli su koncept sučelja. Sučelje je sintaktički slično klasi, ali nedostaje deklaracija na terenu, a metode unutar sučelja nemaju nikakvu implementaciju. Deklarirano je sučelje pomoću ključne riječi sučelje, Pogledajmo deklaraciju sučelja.

sučelje sučelja_ime {vrsta var_name = vrijednost; tip metoda1 (popis parametara); tip metoda2 (popis parametara); , , }

Sučelje ne definira nijednu metodu prijavljenu unutar njega jer nedostaje polja na kojima bi mogla raditi. Samo zato što bilo koja metoda unutar sučelja ne izvršava nijednu radnju, sučelje se nikada ne može instancirati. Ako sučelje ima bilo kojeg člana polja, ono se mora inicijalizirati u trenutku njihove deklaracije. Sučelje nikad ne sadrži nijedan konstruktor jer nedostaje članovima polja da bi se inicijalizirali. Dakle, sučelje samo definira što klasa mora raditi, umjesto kako to mora činiti.

Jednom stvoreno sučelje može implementirati bilo koji broj klasa pomoću ključne riječi provodi, Ali klase koje implementiraju sučelje moraju definirati sve metode unutar sučelja. Sučelje također može naslijediti drugo sučelje koristeći produžiti ključne riječi. Ako klasa implementira sučelje koje proširuje drugo sučelje. Tada klasa mora definirati metode oba sučelja koja se pojavljuju u lancu. Metode unutar sučelja moraju uvijek biti javne jer im moraju pristupiti klase koje ih provode.

Ključne razlike između klase i sučelja u Javi

  1. Razred se može zamijeniti stvaranjem njegovih predmeta. Sučelje se nikada ne instancira jer su metode deklarirane unutar sučelja apstraktne i ne izvode nikakve radnje, tako da nema koristi za instanciranje bilo kojeg sučelja.
  2. Klasa se deklarira pomoću klase ključne riječi. Na isti način stvara se sučelje pomoću sučelja za ključne riječi.
  3. Članovi klase mogu imati određivač pristupa kao što je javni, privatni, zaštićeni. No članovi sučelja uvijek su javni jer im moraju pristupiti klase koje ih provode.
  4. Metode unutar klase definirane su za izvođenje akcije na poljima deklariranim u klasi. Kako sučelje nedostaje u deklaraciji polja, metode unutar sučelja su čisto apstraktne.
  5. Klasa može implementirati bilo koji broj sučelja, ali može proširiti samo jednu super klasu. Sučelje može proširiti bilo koji broj sučelja, ali ne može implementirati nijedno sučelje.
  6. Klasa unutar sebe ima definirane konstruktore kako bi se varijabla inicijalizirala. Ali sučelje nema konstruktora jer ne postoje polja koja se mogu inicijalizirati. Polja sučelja se inicijaliziraju samo u vrijeme njihove deklaracije.

Zaključak:

I klase i sučelja imaju svoju važnost. Klasa se koristi kada trebamo definirati kako bi se zadatak izvršio. Sučelje se koristi kada moramo znati koji zadatak moramo učiniti.