Cuprins[Ascunde][Spectacol]
- 1. Ce este mai exact programarea orientată pe obiecte?
- 2. De ce sunt necesare POO?
- 3. Ce beneficii oferă principiile OOPS?
- 4. Care sunt pilonii conceptului POO?
- 5. Ce este mai exact o clasă?
- 6. Ce este mai exact un obiect?
- 7. Care sunt limitările OOP-urilor?
- 8. Ce este moștenirea?
- 9. Ce este mai exact încapsularea?
- 10. Ce este polimorfismul?
- 11. Ce este exact abstracția?
- 12. Ce este mai exact supraîncărcarea metodei?
- 13. Ce anume este anularea metodei?
- 14. Ce este mai exact o superclasă?
- 15. Ce este mai exact o subclasă?
- 16. Ce este mai exact polimorfismul static?
- 17. Ce este mai exact polimorfismul dinamic?
- 18. Descrieți noțiunea de Constructor.
- 19. Care sunt mai exact modificatorii de acces?
- 20. Ce este mai exact un destructor?
- 21. Ce este mai exact moștenirea hibridă?
- 22. Ce este mai exact moștenirea ierarhică?
- 23. Care sunt dezavantajele moștenirii?
- 24. Ce este mai exact o excepție?
- 25. Ce este exact gestionarea excepțiilor și care sunt beneficiile acesteia?
- 26. Ce sunt mai exact funcțiile virtuale?
- 27. Ce este mai exact funcția prieten?
- 28. Ce este mai exact Garbage Collection?
- 29. Ce este mai exact cuplarea?
- 30. Ce este mai exact coeziunea?
- 31. Descrieți un bloc try/catch.
- 32. Descrie un bloc final.
- 33. Ce este mai exact o interfață?
- 34. Ce este mai exact compoziția?
- 35. Ce este exact înlănțuirea constructorului?
- Concluzie
Una dintre cele mai influente paradigme de programare se numește OOP, sau programare orientată pe obiecte. În loc de funcții și procese, ea pune accent pe clase și obiecte.
Obiectivul său principal este să conecteze datele și lucrurile, astfel încât să fie mai simplu să lucrezi cu ele. Fiecare obiect din POO este alcătuit din cod sub formă de proceduri sau metode și date sub formă de câmpuri.
Limbaje precum C++, Objective C, Python, Perl și Java sunt unele dintre cele mai populare orientate pe obiecte. limbaje de programare.
Este esențial să înțelegeți mai multe despre acest lucru, deoarece întrebările interviului sunt extrem de tipice. Majoritatea firmelor caută ingineri familiarizați cu metodele și modelele orientate pe obiecte. Deci, dacă intenționați să participați la un interviu, trebuie să fiți bine versat în ideile POO.
În această postare vor fi afișate diverse întrebări de interviu pentru programare orientată pe obiecte, de la nivel de începător la nivel de expert. Prin urmare, puteți trece orice nivel de interviu și vă puteți asigura poziția de vis.
1. Ce este mai exact programarea orientată pe obiecte?
Programarea orientată pe obiecte (OOP) se bazează mai degrabă pe obiecte reale decât pe doar funcții și procese. Clasele sunt create pentru produse individuale.
Moștenirea, polimorfismul și ascunderea sunt exemple de concepte din lumea reală pe care OOP-urile le încorporează în programare. De asemenea, face posibilă conectarea datelor și a codului.
2. De ce sunt necesare POO?
Există mai multe motive pentru care sunt preferabile POO, cu toate acestea, următoarele sunt cele mai importante:
- OOP, permit oamenilor să înțeleagă cu ușurință software-ul chiar dacă nu sunt familiarizați cu implementarea.
- Hopa, îmbunătățiți lizibilitatea codului, înțelegerea și mentenabilitatea cu un factor de zece.
- Folosind POO, chiar și aplicațiile extrem de mari pot fi construite și controlate simplu.
3. Ce beneficii oferă principiile OOPS?
- OOPS, obiectele de programare simulează obiecte din lumea reală, reducând complexitatea și sporind claritatea programului.
- Obiectele pot fi utilizate în mod repetat în multe programe.
- Fiecare obiect creează o entitate distinctă ale cărei operațiuni interne sunt independente de celelalte componente ale sistemului.
- Prin introducerea câtorva obiecte noi și actualizarea unora deja existente, este posibilă adăugarea de noi funcționalități sau adaptarea la condițiile de funcționare în schimbare.
- Procesele unui program OOPs sau reprezentarea datelor pot suferi cu ușurință mici ajustări.
4. Care sunt pilonii conceptului POO?
Următorii sunt pilonii majori ai POO:
Moştenire: permite claselor să moștenească atributele unei alte clase.
încapsularea: Aceasta este definită ca o proprietate a obiectului care ascunde informații critice. Acest lucru păstrează datele ascunse membrilor clasei. Specificatorii descriu cum este accesat atributul obiectului în cod.
polimorfismul: Acest lucru vă permite să desfășurați o singură activitate în mai multe moduri. Se realizează prin interfețe, în care declarăm o interfață care este ulterior implementată de mai multe ori.
abstracțiune: Puteți utiliza această funcție pentru a ascunde informațiile critice din lumea exterioară și pentru a prezenta doar faptele esențiale.
5. Ce este mai exact o clasă?
O clasă este un prototip alcătuit din obiecte în diferite stări și cu comportamente diferite. Are o serie de metode care sunt partajate de obiectele din acea clasă.
6. Ce este mai exact un obiect?
Un obiect este o entitate din lumea reală care servește ca unitate fundamentală a OOP, cum ar fi un scaun, o pisică sau un câine. Diverse obiecte au diferite stări, proprietăți și acțiuni.
7. Care sunt limitările OOP-urilor?
- Dimensiunea este mai mare decât cea a altor aplicații.
- Este nevoie să se obișnuiască ceva.
- Anumite tipuri de probleme nu necesită asta.
- Crearea a fost laborioasă și, în comparație cu alte aplicații, funcționează mai lent.
8. Ce este moștenirea?
O noțiune numită moștenire se referă la împărtășirea structurii și comportamentului stabilite a unei clase de către o altă clasă. Când moștenirea este aplicată unei singure clase, este denumită moștenire unică; când depinde de mai multe clase, se numește moșteniri multiple.
9. Ce este mai exact încapsularea?
Ideea de OOP include și încapsularea. Descrie combinarea datelor și tehnicilor de manipulare a datelor. În plus, ajută la prevenirea accesului direct la unele părți ale unui obiect.
10. Ce este polimorfismul?
În limbajele OOP, polimorfismul este un concept fundamental. Acesta arată modul în care diferite clase pot partaja o interfață. Toate aceste clase sunt capabile să aibă implementări unice de interfață.
11. Ce este exact abstracția?
Abstracția este un concept de programare orientată pe obiecte (POO) folosit pentru a crea structura obiectelor din lumea reală. „Afișează” doar cele mai importante calități și „ascunde” informații străine din lumea exterioară. Scopul de bază al abstractizării este de a proteja oamenii de informații inutile.
12. Ce este mai exact supraîncărcarea metodei?
Este posibil ca două sau mai multe proceduri să aibă același nume. Totuși, ar trebui să aibă parametri diferiți, numere diferite de parametri, tipuri distincte sau ambele. Acestea sunt cunoscute ca metode supraîncărcate, iar caracteristica este cunoscută ca supraîncărcare a metodei.
13. Ce anume este anularea metodei?
Programarea orientată pe obiect include ideea suprascrierii metodei. Este o caracteristică de limbă care permite unei subclase sau clase secundare să ofere o implementare personalizată a unei metode pe care una dintre superclasele sau clasele părinte o oferă deja.
14. Ce este mai exact o superclasă?
O superclasă, cunoscută adesea ca o clasă de bază, este un tip de clasă care acționează ca părinte al unei alte clase sau clase. Clasa Car, de exemplu, are o subclasă numită Vehicle.
15. Ce este mai exact o subclasă?
O subclasă este o subclasă a unei alte clase. O furgonetă, de exemplu, este o subclasă de vehicule sau o clasă derivată.
16. Ce este mai exact polimorfismul static?
La momentul compilării, are loc un tip de polimorfism cunoscut sub numele de polimorfism static (legare statică). Supraîncărcarea metodei este un tip de polimorfism în timp de compilare.
17. Ce este mai exact polimorfismul dinamic?
Un fel de polimorfism care este rezolvat în timpul de execuție se numește polimorfism în timpul execuției, cunoscut și ca polimorfism dinamic (legare dinamică). Suprascrierea metodelor este o ilustrare a polimorfismului de rulare.
18. Descrieți noțiunea de Constructor.
Un constructor este o metodă specifică a unei clase care este apelată automat atunci când este creată o instanță de clasă. Când accesați clasa, aceasta este construită cu același nume ca și clasa și inițializează toți membrii acesteia. Caracteristicile primare ale unui constructor sunt următoarele:
Nu există un tip de returnare pentru constructori.
Este posibilă supraîncărcarea constructorilor.
Nu este necesar să specificați un constructor; the.NET Framework o va face automat.
19. Care sunt mai exact modificatorii de acces?
În limbajele orientate pe obiecte, cuvintele cheie sunt modificatori de acces sau specificatori de acces. Ajută la configurarea claselor, metodelor și accesibilității altor membri.
20. Ce este mai exact un destructor?
Un destructor este o metodă de eliberare a resurselor alocate unui obiect. Când un obiect este distrus, această metodă este apelată automat.
21. Ce este mai exact moștenirea hibridă?
Moștenirea hibridă este un fel de moștenire generată de amestecarea mai multor forme de moștenire, cum ar fi unică, multiplă și așa mai departe.
22. Ce este mai exact moștenirea ierarhică?
Subclase multiple moștenesc de la o clasă părinte în situația de moștenire ierarhică. Un fel de moștenire în care numeroase clase descind dintr-un singur părinte sau clasă de bază este cunoscut sub numele de moștenire ierarhică. De exemplu, clasa de fructe poate conține subclase precum „măr, „mango”, „banană”, „cireș” și așa mai departe.
23. Care sunt dezavantajele moștenirii?
Prelungește și complică procesul de execuție. De asemenea, necesită schimbarea între diferite clase. Clasele pentru părinți și copii sunt întotdeauna indisolubil legate.
Modificările la curriculum ar necesita revizuiri atât pentru părinte, cât și pentru clasa copilului. Moștenirea trebuie implementată cu atenție, altfel rezultatele vor fi greșite.
24. Ce este mai exact o excepție?
O excepție este un incident care interferează cu funcționarea obișnuită a codului. Pentru a continua execuția, puteți gestiona aceste excepții în Java. În Java, există multe feluri de excepții predefinite, iar gestionarea excepțiilor este furnizată pentru a controla excepțiile ridicate folosind blocuri try-catch.
25. Ce este exact gestionarea excepțiilor și care sunt beneficiile acesteia?
Cea mai importantă metodă din Java pentru a face față eșecurilor neașteptate de rulare este gestionarea excepțiilor. Vă permite să controlați erorile de rulare care apar în timpul execuției programului.
Beneficiile gestionării excepțiilor includ capacitatea de a păstra fluxul regulat de program în timp ce gestionați excepțiile. De exemplu, dacă se întâmplă o eroare într-o secțiune a programului, aceasta nu va avea niciun efect asupra restului programului dacă gestionăm excepția cu blocuri try-catch.
26. Ce sunt mai exact funcțiile virtuale?
Funcțiile virtuale sunt, de asemenea, incluse în funcțiile clasei părinte și sunt suprascrise de subclasă. Aceste rutine ajută la realizarea polimorfismului de rulare.
27. Ce este mai exact funcția prieten?
O funcție prieten este o funcție care aparține unei clase și are acces la datele sale publice, private sau protejate. Dacă funcția este definită în afara clasei, nu este posibilă preluarea acestor date. Cuvintele cheie pentru controlul accesului private, public și protected nu au nicio legătură cu o declarație de prieten, care poate fi făcută oriunde în declarația de clasă.
28. Ce este mai exact Garbage Collection?
Garbage Collection (GC) este un element al limbajelor de programare precum C# și Java, care servește ca sistem de recuperare a memoriei. Un motor de colectare a gunoiului (GC) este o componentă a unui limbaj de programare care permite eliberarea automată a spațiului de memorie pentru obiectele pe care aplicația nu le mai folosește.
29. Ce este mai exact cuplarea?
Se referă la situații în care diferite clase se bazează una pe alta și împărtășesc cunoștințe. O conexiune puternică apare atunci când o clasă are cunoștințe detaliate despre o altă clasă. Puteți specifica vizibilitatea claselor, metodelor sau variabilelor folosind modificatorii de acces. Interfețele sunt folosite pentru a oferi o cuplare mai slabă.
30. Ce este mai exact coeziunea?
Modul în care o componentă realizează o anumită activitate este denumit coeziunea sa. O abordare puternică, coerentă va îndeplini pur și simplu sarcina definită, în timp ce o metodă slabă, coerentă, ar împărți sarcina unică în mai multe sarcini mai mici și apoi le-ar finaliza.
Pachetul Java.io este destul de coerent, dar pachetul java.util nu este.
31. Descrieți un bloc try/catch.
Când un program întâmpină o eroare din cauza codului sau a datelor incorecte, „încercați” și „prindeți” indică cum să o gestionați. Un bloc de încercare este numele părții din cod când apar excepții. Un bloc catch este folosit pentru a captura și a trata excepțiile de la blocurile try.
32. Descrie un bloc final.
Partea de lucru a cuvântului cheie try este indicată ultima. Acesta desemnează codul care este întotdeauna rulat imediat după încercare și orice blocuri catch înainte ca metoda să fie finalizată. Blocul final este întotdeauna rulat indiferent dacă este aruncată sau prinsă o excepție.
33. Ce este mai exact o interfață?
O interfață este o combinație de metode abstracte și un tip de date definit de utilizator. O clasă implementează o interfață, moștenind funcțiile abstracte ale interfeței.
O clasă reprezintă proprietățile și comportamentele unui obiect, în timp ce o interfață include comportamentele pe care o clasă le implementează. Interfața reprezintă „ce”, în timp ce Clasa transmite „cum”.
34. Ce este mai exact compoziția?
Compoziția poate fi folosită pentru a realiza o conexiune. Demonstrează o legătură puternică între obiectele dependente și cele independente, spre deosebire de agregare. Obiectul dependent nu există în această circumstanță și va fi eliminat dacă obiectul părinte este șters.
35. Ce este exact înlănțuirea constructorului?
Înlănțuirea constructorului este o tehnică de apelare a unui constructor de la altul în raport cu referința obiectului curent. Există două opțiuni:
- Constructorul din clasa curentă poate fi referit folosind cuvântul cheie „this”.
- Cuvântul cheie „super” va fi folosit pentru a invoca constructorul din clasa de bază.
Concluzie
Programarea orientată pe obiect necesită gândirea la structura programului și pregătirea din timp. Examinând modul de împărțire a cerințelor în clase de bază, reutilizabile, care pot fi folosite pentru a crea instanțe de lucruri.
În general, adoptarea OOP oferă îmbunătățiri structuri de date și reutilizabilitate, care economisește timp pe termen lung. Vedea Seria de interviuri a lui Hashdork pentru ajutor la pregătirea interviului.
Lasă un comentariu