Diferența dintre clasă și interfață

Cuprins:

Diferența dintre clasă și interfață
Diferența dintre clasă și interfață

Video: Diferența dintre clasă și interfață

Video: Diferența dintre clasă și interfață
Video: Difference between Class and Interface in java | Super Keyword | OOPs | Tutorial #43 2024, Noiembrie
Anonim

Diferența cheie – clasă vs interfață

Programarea orientată pe obiecte (OOP) este o paradigmă comună în dezvoltarea de software. Ajută la introducerea scenariilor din lumea reală la programare folosind clase și obiecte. O clasă este un plan pentru a crea un obiect. Programatorul poate crea o clasă cu proprietăți și metode. Un elev și un profesor sunt obiecte. Crearea unui obiect este cunoscută ca instanțiere. OOP folosește și 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 dintre o clasă și o interfață este că o clasă este un tip de referință care este un plan pentru a instanția un obiect, în timp ce interfața este un tip de referință care nu poate fi utilizat pentru a instanția un obiect.

Ce este clasa?

În POO, totul este considerat obiect. Nu este posibil să creați un obiect fără o clasă. O clasă este un plan pentru a crea un obiect. Când construiește o casă, arhitectul desenează planul. Planul este similar cu o clasă. Casa este asemănătoare obiectului. Clasa este planul pentru a construi un obiect. Un obiect este ceea ce este creat folosind clasa.

Clasa conține proprietățile și metodele. Un elev poate avea proprietăți precum numele, nota, numărul de index. Un elev poate avea metode precum cititul, mersul pe jos, studiul. Se creează o clasă cu proprietățile și metodele necesare.

Sintaxa pentru crearea unei clase în multe limbaje de programare este următoarea. Este creat folosind clasa de cuvinte cheie.

class class_name {

// proprietăți

//metode

}

Limbajele de programare precum 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 cheie „nou” este folosit pentru a aloca memorie 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. Specificatorii de acces descriu accesibilitatea și vizibilitatea acelor membri la 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 cadrul clasei și subclaselor relevante.

Ce este interfața?

Abstracția este un pilon al programării orientate pe obiecte. Este pentru a ascunde detaliile implementării și pentru a afișa funcționalitatea utilizatorului. Abstracția se realizează 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 clasă abstractă.

Când există două clase abstracte, metodele declarate în acele clase ar trebui implementate. O nouă clasă este folosită pentru a implementa aceste metode. Dacă ambele clase au avut aceeași metodă, ar putea cauza o problemă de ambiguitate. Prin urmare, limbajele de programare precum Java și C au o interfață.

Interfețele conțin doar declararea metodelor. Nu există nicio metodă de implementare. De asemenea, interfețele nu pot fi folosite pentru a crea obiecte. Sunt folosite pentru a accepta moșteniri multiple și pentru a securiza codul.

Sintaxa interfeței este următoarea. Interfață utilizați cuvântul cheie „interfață”.

interfață interface_name{

type method1(lista_parametri);

type method2(lista_parametri);

}

Conform cu mai sus, interfețele au doar declarația. Nu există o definiție. Deci, interfețele nu pot instanția obiecte. Oferă doar o vedere abstractă a interfeței. Metodele declarate în interfață pot fi implementate de una sau mai multe clase. O clasă folosește cuvântul cheie „implementare” pentru a implementa o interfață. Consultați mai jos exemplul scris folosind Java.

Diferența dintre clasă și interfață
Diferența dintre clasă și interfață
Diferența dintre clasă și interfață
Diferența dintre clasă și interfață

Figura 01: Program folosind interfețe

Conform programului 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 ambele metode sum() și sub(). După crearea obiectului de tip C, este posibil să apelați 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 moșteni și de la o altă interfață.

Care sunt asemănările dintre clasă și interfață?

  • Ambele sunt tipuri de referință.
  • Ambele se referă la programarea orientată pe obiecte.

Care este diferența dintre clasă și 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.
Instanciare obiect
O clasă este folosită pentru a instanția 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 variabile de inițializat.
Cuvânt cheie
O clasă folosește cuvântul cheie „clasă”. O interfață folosește cuvântul cheie „interfață”.
Specificator 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 îi definesc.

Rezumat – Clasă vs interfață

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 plan pentru a instanția un obiect, iar interfața este un tip de referință care nu poate fi folosit pentru a instanția un obiect. O clasă poate implementa multe interfețe. Dar poate extinde doar o superclasă. În interfață poate moșteni multe interfețe, dar nu poate exista o implementare. Ambele au importanta lor. Programatorul le poate folosi conform software-ului de dezvoltare.

Descărcați clasa PDF vs interfață

Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline, conform nota de citare. Vă rugăm să descărcați versiunea PDF aici Diferența dintre clasă și interfață

Recomandat: