Object-Oriented Programming (OOP) este o paradigmă comună în dezvoltarea de software. Aceasta ajută la aducerea scenariilor din lumea reală la programarea folosind clase și obiecte. O clasă este un model pentru a crea un obiect. Programatorul poate crea o clasă cu proprietăți și metode. Un student și un profesor sunt obiecte. Crearea unui obiect este cunoscută ca instanțierea. OOP utilizează, de asemenea, interfețe. Interfețele și clasa pot părea similare, dar au o diferență. Acest articol discută diferența dintre o clasă și o interfață. diferența cheie între o clasă și o interfață este asta o clasă este un tip de referință care este un model pentru a instanțiza un obiect în timp ce interfața este un tip de referință care nu poate fi folosit pentru a instanțiza un obiect.
1. Prezentare generală și diferență cheie
2. Ce este clasa
3. Ce este interfața
4. Asemănări între clasă și interfață
5. Comparație comparativă - clasă vs interfață în formă tabulară
6. rezumat
În PLO, totul este considerat un obiect. Nu este posibil să creați un obiect fără o clasă. O clasă este un model pentru a crea un obiect. Când construiește o casă, arhitectul desenează planul. Planul este similar cu o clasă. Casa este similară cu obiectul. Clasa este planul de a construi un obiect. Un obiect este ceea ce este creat folosind clasa.
Clasa conține proprietățile și metodele. Un student poate avea proprietăți cum ar fi numele, gradul, numărul de index. Un student poate avea metode cum ar fi citirea, mersul pe jos, studiul. Se creează o clasă cu proprietățile și metodele necesare.
Sintaxa pentru crearea unei clase în multe limbi de programare este după cum urmează. Acesta este creat folosind clasa de cuvinte cheie.
class_name_name
// proprietăți
// metode
Limbile de programare, cum ar fi C # și Java, urmează o sintaxă similară pentru a crea un obiect folosind o clasă. Să presupunem că numele clasei este Student.
Student s1 = student nou ();
Acest s1 este obiectul. Cuvântul "nou" este folosit pentru a aloca memoria pentru proprietăți. O clasă are, de asemenea, un constructor pentru a inițializa proprietăți sau variabile.
Membrii clasei, cum ar fi proprietățile și metodele, au modificatori de acces. Identificatorii de acces descriu accesibilitatea și vizibilitatea acelor membri în alte clase. Membrii clasei pot avea specificatori de acces, cum ar fi public, privat și protejat. Membrii publici sunt accesibili de alte clase. Membrii privați sunt accesibili numai clasei. Membrii protejați sunt accesibili în clasa și în subclasele relevante.
Abstracția este un pilon al programării orientate pe obiecte. Acesta trebuie să ascundă detaliile implementării și să afișeze funcționalitatea utilizatorului. Abstracția este realizată folosind clase și interfețe abstracte. O metodă abstractă nu are o implementare. O clasă care conține cel puțin o metodă abstractă se numește o clasă abstractă.
Când există două clase abstracte, metodele declarate în aceste clase ar trebui implementate. O clasă nouă este folosită pentru implementarea acestor metode. Dacă ambele clase aveau aceeași metodă, s-ar putea provoca o problemă de ambiguitate. Prin urmare, limbile de programare precum Java și C # au o interfață.
Interfețele conțin numai declarația de metode. Nu există o metodă de implementare. De asemenea, interfețele nu pot fi folosite pentru a crea obiecte. Ele sunt utilizate pentru a suporta mai multe moșteniri și pentru a asigura codul.
Sintaxa de interfață este după cum urmează. Interfața utilizează cuvântul cheie "interfață".
interfață interface_name
introduceți metoda1 (parametrul_list);
introduceți metoda 2 (parametrul_list);
Conform celor de mai sus, interfețele au doar declarația. Nu există definiție. Deci, interfețele nu pot instantiza obiecte. Oferă doar o imagine abstractă a interfeței. Metodele declarate în interfață pot fi implementate de una sau mai multe clase. O clasă utilizează cuvântul cheie "implementați" pentru a implementa o interfață. Consultați exemplul de mai jos, scris folosind Java.
Figura 01: Program folosind interfețe
În conformitate cu programul de mai sus, A și B sunt interfețe. Interfața A are o declarație de metodă care este suma (). Interfața B are o declarație de metodă sub (). Clasa C implementează ambele interfețe care sunt A și B. Prin urmare, clasa C definește atât metodele sum () și sub (). După crearea unui obiect de tip C, este posibil să se apeleze ambele metode sum () și sub ().
Metodele declarate în interiorul interfeței trebuie să fie întotdeauna publice, deoarece clasele de implementare le definesc. O interfață poate, de asemenea, moșteni de la o altă interfață.
Clasă vs Interfață | |
O clasă este un tip de referință care este un plan pentru a crea un obiect. | O interfață este un tip de referință care nu poate fi instanțiat. |
Instanțierea obiectelor | |
O clasă este folosită pentru a instanțiza un obiect. | O interfață nu poate fi instanțiată deoarece metodele nu pot efectua nicio acțiune. |
Constructor | |
O clasă conține un constructor, pentru a inițializa variabilele. | O interfață nu conține un constructor deoarece nu sunt aproape deloc variabilele de inițializare. |
cuvinte cheie | |
O clasă utilizează cuvântul cheie "clasă". | O interfață utilizează cuvântul cheie "interfață". |
Accesorizator de acces | |
Membrii clasei pot fi privați, publici și protejați. | Membrii interfeței ar trebui să fie întotdeauna publici, deoarece clasele de implementare le definesc. |
Clasele și interfețele sunt utilizate pe scară largă în programarea orientată pe obiecte. Diferența dintre o clasă și o interfață este că o clasă este un tip de referință care este un model pentru a instanțiza un obiect, iar interfața este un tip de referință care nu poate fi folosit pentru a instanțiza un obiect. O clasă poate implementa multe interfețe. Dar se poate extinde doar o superclazie. În interfață pot moșteni multe interfețe, dar nu poate exista o implementare. Ambele au importanța lor. Programatorul le poate folosi în conformitate cu dezvoltarea de software.
Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline conform notei de citare. Descărcați versiunea PDF aici Diferența dintre clasă și interfață
1.tutorialspoint.com. "Obiect și clase Java.", Punctul. Disponibil aici
2.navinreddy20. Interfața în java cu un exemplu, Java By Navin Reddy, 11 Dec. 2012. Disponibil aici