Taula de continguts[Amaga][Espectacle]
- 1. Què és exactament la Programació Orientada a Objectes?
- 2. Per què són necessaris els POO?
- 3. Quins beneficis ofereixen els principis OOPS?
- 4. Quins són els pilars del concepte OOP?
- 5. Què és exactament una classe?
- 6. Què és exactament un objecte?
- 7. Quines són les limitacions dels POO?
- 8. Què és l’herència?
- 9. Què és precisament l'encapsulació?
- 10. Què és el polimorfisme?
- 11. Què és exactament l'abstracció?
- 12. Què és exactament la sobrecàrrega de mètodes?
- 13. Què és exactament la substitució del mètode?
- 14. Què és precisament una superclasse?
- 15. Què és precisament una subclasse?
- 16. Què és exactament el polimorfisme estàtic?
- 17. Què és exactament el polimorfisme dinàmic?
- 18. Descriu la noció de Constructor.
- 19. Quins són exactament els modificadors d'accés?
- 20. Què és exactament un destructor?
- 21. Què és exactament l'herència híbrida?
- 22. Què és precisament l'herència jeràrquica?
- 23. Quins són els inconvenients de l'herència?
- 24. Què és exactament una excepció?
- 25. Què és exactament la gestió d'excepcions i quins són els seus beneficis?
- 26. Què són exactament les funcions virtuals?
- 27. Què és exactament la funció d'amic?
- 28. Què és exactament la recollida d'escombraries?
- 29. Què és precisament l'acoblament?
- 30. Què és precisament la cohesió?
- 31. Descriu un bloc try/catch.
- 32. Descriu un bloc final.
- 33. Què és exactament una interfície?
- 34. Què és exactament la composició?
- 35. Què és exactament l'encadenament de constructors?
- Conclusió
Un dels paradigmes de programació més influents s'anomena OOP, o programació orientada a objectes. En lloc de funcions i processos, posa èmfasi en classes i objectes.
El seu objectiu principal és connectar dades i coses perquè sigui més senzill treballar-hi. Cada objecte dels POO està format per codi en forma de procediments o mètodes i dades en forma de camps.
Llenguatges com C++, Objective C, Python, Perl i Java són alguns dels més populars orientats a objectes. llenguatges de programació.
És fonamental entendre-ho més, ja que les preguntes de l'entrevista són extremadament típiques. La majoria de les empreses busquen enginyers familiaritzats amb mètodes i patrons orientats a objectes. Per tant, si teniu intenció d'assistir a una entrevista, heu de conèixer bé les idees de POO.
En aquesta publicació es mostraran diverses preguntes d'entrevista de programació orientada a objectes, des de nivells principiants fins a nivells d'experts. Per tant, podeu superar qualsevol nivell d'entrevista i assegurar-vos la posició dels vostres somnis.
1. Què és exactament la Programació Orientada a Objectes?
La programació orientada a objectes (OOP) es basa en objectes reals i no només en funcions i processos. Les classes es creen per a productes individuals.
L'herència, el polimorfisme i l'ocultació són exemples de conceptes del món real que els POO incorporen a la programació. També permet connectar dades i codi.
2. Per què són necessaris els POO?
Hi ha diversos motius pels quals els POO són preferibles, però, els següents són els més importants:
- Els POO, permeten a les persones comprendre fàcilment el programari encara que no estiguin familiaritzats amb la implementació.
- Vaja, milloreu la llegibilitat, la comprensió i el manteniment del codi per un factor deu.
- Utilitzant POO, fins i tot aplicacions extremadament grans es poden crear i controlar simplement.
3. Quins beneficis ofereixen els principis OOPS?
- OOPS, els objectes de programació simulen objectes del món real, reduint la complexitat i millorant la claredat del programa.
- Els objectes es poden utilitzar repetidament en molts programes.
- Cada objecte crea una entitat diferent les operacions internes de la qual són independents d'altres components del sistema.
- Introduint uns quants objectes nous i actualitzant-ne alguns ja existents, és possible afegir noves funcionalitats o adaptar-se a les condicions de funcionament canviants.
- Els processos o la representació de dades d'un programa OOP poden experimentar fàcilment petits ajustaments.
4. Quins són els pilars del concepte OOP?
Els següents són els principals pilars de la POO:
Herència: permet que les classes heretin els atributs d'una altra classe.
Encapsulació: Es defineix com una propietat d'objecte que amaga informació crítica. Això manté les dades ocultes als membres de la classe. Els especificadors descriuen com s'accedeix a l'atribut de l'objecte en codi.
Polimorfisme: Això permet realitzar una única activitat de diverses maneres. S'aconsegueix mitjançant interfícies, en les quals declarem una interfície que posteriorment s'implementa diverses vegades.
Abstracció: Podeu utilitzar aquesta funció per ocultar informació crítica del món exterior i presentar només els fets essencials.
5. Què és exactament una classe?
Una classe és un prototip format per objectes en diferents estats i amb diferents comportaments. Té una sèrie de mètodes que comparteixen els objectes d'aquesta classe.
6. Què és exactament un objecte?
Un objecte és una entitat del món real que serveix com a unitat fonamental dels POO, com ara una cadira, un gat o un gos. Diversos objectes tenen diferents estats, propietats i accions.
7. Quines són les limitacions dels POO?
- La mida és més gran que la d'altres aplicacions.
- Cal acostumar-s'hi.
- Alguns tipus de problemes no ho demanen.
- Crear va ser molt laboriós i, en comparació amb altres aplicacions, funciona més lentament.
8. Què és l’herència?
Una noció anomenada herència fa referència a la compartició de l'estructura i el comportament establerts d'una classe per part d'una altra classe. Quan l'herència s'aplica a una sola classe, s'anomena herència única; quan depèn de moltes classes, es coneix com a herències múltiples.
9. Què és precisament l'encapsulació?
La idea d'OOP també inclou l'encapsulació. Descriu la combinació de dades i tècniques de manipulació de dades. A més, ajuda a evitar l'accés directe a algunes parts d'un objecte.
10. Què és el polimorfisme?
En els llenguatges OOP, el polimorfisme és un concepte fonamental. Mostra com diferents classes poden compartir una interfície. Totes aquestes classes són capaces de tenir implementacions d'interfície úniques.
11. Què és exactament l'abstracció?
L'abstracció és un concepte de programació orientada a objectes (POO) utilitzat per crear l'estructura d'objectes del món real. "Mostra" només les qualitats més importants i "oculta" informació estranya del món exterior. L'objectiu bàsic de l'abstracció és protegir la gent de la informació innecessària.
12. Què és exactament la sobrecàrrega de mètodes?
És possible que dos o més procediments tinguin el mateix nom. Tanmateix, haurien de tenir paràmetres diferents, nombres de paràmetres diferents, tipus diferents o tots dos. Aquests es coneixen com a mètodes sobrecarregats i la funció es coneix com a sobrecàrrega de mètodes.
13. Què és exactament la substitució del mètode?
La programació orientada a objectes inclou la idea de la substitució de mètodes. És una característica del llenguatge que permet que una subclasse o classe secundària ofereixi una implementació personalitzada d'un mètode que ja proporciona una de les seves superclasses o classes pares.
14. Què és precisament una superclasse?
Una superclasse, sovint coneguda com a classe base, és un tipus de classe que actua com a pare d'una altra classe o classes. La classe Car, per exemple, té una subclasse anomenada Vehicle.
15. Què és precisament una subclasse?
Una subclasse és una subclasse d'una altra classe. Una furgoneta, per exemple, és una subclasse de vehicles o classe derivada.
16. Què és exactament el polimorfisme estàtic?
En temps de compilació, té lloc un tipus de polimorfisme conegut com a polimorfisme estàtic (enllaç estàtic). La sobrecàrrega de mètodes és un tipus de polimorfisme en temps de compilació.
17. Què és exactament el polimorfisme dinàmic?
Una mena de polimorfisme que es resol en temps d'execució s'anomena polimorfisme en temps d'execució, també conegut com a polimorfisme dinàmic (enllaç dinàmic). La substitució de mètodes és una il·lustració del polimorfisme en temps d'execució.
18. Descriu la noció de Constructor.
Un constructor és un mètode específic d'una classe que es crida automàticament quan es crea una instància de classe. Quan accediu a la classe, es construeix amb el mateix nom que la classe i inicialitza tots els seus membres. Les característiques principals d'un constructor són les següents:
No hi ha cap tipus de retorn per als constructors.
És possible sobrecarregar els constructors.
No és necessari especificar un constructor; the.NET Framework ho farà automàticament.
19. Quins són exactament els modificadors d'accés?
En els llenguatges orientats a objectes, les paraules clau són modificadors d'accés o especificadors d'accés. Ajuda a la configuració de classes, mètodes i accessibilitat d'altres membres.
20. Què és exactament un destructor?
Un destructor és un mètode per alliberar els recursos assignats a un objecte. Quan es destrueix un objecte, aquest mètode es crida automàticament.
21. Què és exactament l'herència híbrida?
L'herència híbrida és una mena d'herència generada per la barreja de diverses formes d'herència com ara única, múltiple, etc.
22. Què és precisament l'herència jeràrquica?
Múltiples subclasses hereten d'una classe pare en la situació d'herència jeràrquica. Una mena d'herència en què nombroses classes descendeixen d'un sol pare o classe base es coneix com a herència jeràrquica. Per exemple, la classe de fruita pot contenir subclasses com ara "poma", "mango", "plàtan", "cirera", etc.
23. Quins són els inconvenients de l'herència?
Allarga i complica el procés d'execució. També requereix canviar entre diferents classes. Les classes dels pares i dels fills sempre estan íntimament lligades.
Les modificacions al currículum requeririen revisions tant per als pares com per a la classe del nen. L'herència s'ha d'implementar amb cura o els resultats seran incorrectes.
24. Què és exactament una excepció?
Una excepció és un incident que interfereix amb el funcionament habitual del codi. Per continuar amb l'execució, podeu gestionar aquestes excepcions a Java. A Java, hi ha molts tipus d'excepcions predefinides i es proporciona un maneig d'excepcions per controlar les excepcions plantejades mitjançant blocs try-catch.
25. Què és exactament la gestió d'excepcions i quins són els seus beneficis?
El mètode més important de Java per fer front a errors d'execució inesperats és el maneig d'excepcions. Permet controlar els errors d'execució que es produeixen durant l'execució del programa.
Els avantatges de la gestió d'excepcions inclouen la capacitat de mantenir el flux regular del programa mentre es gestionen les excepcions. Per exemple, si es produeix un error en una secció del programa, no tindrà cap efecte sobre la resta del programa si gestionem l'excepció amb blocs try-catch.
26. Què són exactament les funcions virtuals?
Les funcions virtuals també s'inclouen a les funcions de la classe pare i la subclasse les substitueix. Aquestes rutines ajuden a assolir el polimorfisme en temps d'execució.
27. Què és exactament la funció d'amic?
Una funció amiga és una funció que pertany a una classe i se li permet l'accés a les seves dades públiques, privades o protegides. Si la funció es defineix fora de la classe, no és possible recuperar aquestes dades. Les paraules clau de control d'accés private, public i protected no tenen cap relació amb una declaració d'amic, que es pot fer en qualsevol part de la declaració de classe.
28. Què és exactament la recollida d'escombraries?
La recollida d'escombraries (GC) és un element de llenguatges de programació com C# i Java que serveix com a sistema de recuperació de memòria. Un motor de recollida d'escombraries (GC) és un component d'un llenguatge de programació que permet l'alliberament automatitzat d'espai de memòria per als objectes que l'aplicació ja no utilitza.
29. Què és precisament l'acoblament?
Es refereix a situacions en què diverses classes es basen les unes en les altres i comparteixen coneixements. Es produeix una connexió forta quan una classe té un coneixement detallat d'una altra classe. Podeu especificar la visibilitat de classes, mètodes o variables mitjançant modificadors d'accés. Les interfícies s'utilitzen per proporcionar un acoblament més feble.
30. Què és precisament la cohesió?
La manera com un component realitza una determinada activitat es coneix com la seva cohesió. Un enfocament fort i cohesionat simplement farà la tasca definida, mentre que un mètode feble i cohesionat dividiria la tasca única en diverses tasques més petites i després les completaria.
El paquet Java.io és força coherent, però el paquet java.util no.
31. Descriu un bloc try/catch.
Quan un programa troba un error a causa d'un codi o dades incorrectes, "try" i "catch" indiquen com gestionar-lo. Un bloc try és el nom de la part del codi quan es produeixen excepcions. Un bloc catch s'utilitza per capturar i tractar les excepcions dels blocs try.
32. Descriu un bloc final.
La part del codi de treball de la paraula clau try s'indica per darrera. Designa el codi que s'executa sempre immediatament després de la prova i qualsevol bloc de captura abans que s'hagi completat el mètode. El bloc final sempre s'executa tant si es llança o s'atrapa una excepció.
33. Què és exactament una interfície?
Una interfície és una combinació de mètodes abstractes i un tipus de dades definit per l'usuari. Una classe implementa una interfície, heretant les funcions abstractes de la interfície.
Una classe representa les propietats i comportaments d'un objecte, mentre que una interfície inclou els comportaments que implementa una classe. La interfície representa "què", mentre que la classe transmet "com".
34. Què és exactament la composició?
La composició es pot utilitzar per aconseguir una connexió. Demostra un fort vincle d'objectes entre els objectes dependents i independents, a diferència de l'agregació. L'objecte dependent no existeix en aquesta circumstància i s'eliminarà si s'esborra l'objecte pare.
35. Què és exactament l'encadenament de constructors?
L'encadenament de constructors és una tècnica per cridar un constructor des d'un altre en relació amb la referència de l'objecte actual. Hi ha dues opcions:
- El constructor de la classe actual es pot fer referència amb la paraula clau "this".
- La paraula clau "super" s'utilitzarà per invocar el constructor des de la classe base.
Conclusió
La programació orientada a objectes requereix pensar en l'estructura del programa i preparar-se amb antelació. Examinant com dividir els requisits en classes bàsiques i reutilitzables que es poden utilitzar per crear instàncies de coses.
En general, l'adopció de la POO proporciona una millora estructures de dades i la reutilització, que estalvia temps a la llarga. Vegeu Sèrie d'entrevistes de Hashdork per ajudar en la preparació de l'entrevista.
Deixa un comentari