Índice analítico[Ocultar][Mostrar]
- 1. Que é exactamente a programación orientada a obxectos?
- 2. Por que son necesarias as POO?
- 3. Que vantaxes ofrecen os principios OOPS?
- 4. Cales son os piares do concepto de POO?
- 5. Que é exactamente unha clase?
- 6. Que é exactamente un obxecto?
- 7. Cales son as limitacións dos POO?
- 8. Que é a herdanza?
- 9. Que é precisamente o encapsulamento?
- 10. Que é o polimorfismo?
- 11. Que é exactamente a abstracción?
- 12. Que é exactamente a sobrecarga de métodos?
- 13. Que é exactamente a substitución do método?
- 14. Que é precisamente unha superclase?
- 15. Que é precisamente unha subclase?
- 16. Que é exactamente o polimorfismo estático?
- 17. Que é exactamente o polimorfismo dinámico?
- 18. Describe a noción de Construtor.
- 19. Cales son exactamente os modificadores de acceso?
- 20. Que é exactamente un destrutor?
- 21. Que é exactamente a herdanza híbrida?
- 22. Que é precisamente a herdanza xerárquica?
- 23. Cales son os inconvenientes da herdanza?
- 24. Que é exactamente unha excepción?
- 25. Que é exactamente o manexo de excepcións e cales son os seus beneficios?
- 26. Que son exactamente as funcións virtuais?
- 27. Que é exactamente a función amigo?
- 28. Que é exactamente a recollida de lixo?
- 29. Que é precisamente o acoplamento?
- 30. Que é precisamente a cohesión?
- 31. Describe un bloque try/catch.
- 32. Describe un bloque final.
- 33. Que é exactamente unha interface?
- 34. Que é exactamente a composición?
- 35. Que é exactamente o encadeamento de construtores?
- Conclusión
Un dos paradigmas de programación máis influentes chámase OOP, ou programación orientada a obxectos. En lugar de funcións e procesos, enfatiza as clases e os obxectos.
O seu obxectivo principal é conectar datos e cousas para que sexa máis sinxelo traballar con eles. Cada obxecto en POO está formado por código en forma de procedementos ou métodos e datos en forma de campos.
Linguaxes como C++, Objective C, Python, Perl e Java son algunhas das máis populares orientadas a obxectos. linguaxes de programación.
É fundamental comprender máis sobre isto xa que as preguntas das entrevistas son moi típicas. A maioría das empresas buscan enxeñeiros que estean familiarizados cos métodos e patróns orientados a obxectos. Polo tanto, se tes a intención de asistir a unha entrevista, debes estar ben versado nas ideas de POO.
Nesta publicación mostraranse varias preguntas de entrevistas de programación orientada a obxectos desde os niveis principiantes ata expertos. Polo tanto, pode superar calquera nivel de entrevista e asegurar a súa posición soñada.
1. Que é exactamente a programación orientada a obxectos?
A programación orientada a obxectos (OOP) baséase en obxectos reais e non só en funcións e procesos. As clases créanse para produtos individuais.
A herdanza, o polimorfismo e a ocultación son exemplos de conceptos do mundo real que os POO incorporan á programación. Tamén permite conectar datos e código.
2. Por que son necesarias as POO?
Hai varias razóns polas que son preferibles os POO, pero as seguintes son as máis importantes:
- Os OOP, permiten que as persoas comprendan facilmente o software aínda que non estean familiarizados coa implementación.
- Vaia, mellora a lexibilidade do código, a comprensibilidade e o mantemento nun factor dez.
- Usando POO, incluso aplicacións extremadamente grandes pódense crear e controlar de forma sinxela.
3. Que vantaxes ofrecen os principios OOPS?
- OOPS, os obxectos de programación simulan obxectos do mundo real, reducindo a complexidade e mellorando a claridade do programa.
- Os obxectos pódense utilizar repetidamente en moitos programas.
- Cada obxecto crea unha entidade distinta cuxas operacións internas son independentes doutros compoñentes do sistema.
- Ao introducir algúns novos obxectos e actualizar algúns xa existentes, é posible engadir novas funcionalidades ou adaptarse ás condicións de funcionamento cambiantes.
- Os procesos ou a representación de datos dun programa de POO poden sufrir pequenos axustes facilmente.
4. Cales son os piares do concepto de POO?
Os seguintes son os principais piares da POO:
Herdanza: Permite que as clases herdan os atributos doutra clase.
Encapsulamento: defínese como unha propiedade de obxecto que oculta información crítica. Isto mantén os datos ocultos aos membros da clase. Os especificadores describen como se accede ao atributo do obxecto no código.
Polimorfismo: Permítelle realizar unha única actividade de varias maneiras. Realízase mediante interfaces, nas que declaramos unha interface que posteriormente se implementa varias veces.
Abstracción: Podes usar esta función para ocultar información crítica do mundo exterior e presentar só os feitos esenciais.
5. Que é exactamente unha clase?
Unha clase é un prototipo formado por obxectos en varios estados e con diferentes comportamentos. Ten unha serie de métodos que son compartidos polos obxectos desa clase.
6. Que é exactamente un obxecto?
Un obxecto é unha entidade do mundo real que serve como unidade fundamental de POO, como unha cadeira, un gato ou un can. Varios obxectos teñen varios estados, propiedades e accións.
7. Cales son as limitacións dos POO?
- O tamaño é maior que o doutras aplicacións.
- Require un pouco de acostumado.
- Algúns tipos de problemas non o requiren.
- Foi moi laborioso para crear e, en comparación con outras aplicacións, funciona máis lentamente.
8. Que é a herdanza?
Unha noción chamada herdanza refírese á compartición da estrutura e comportamento establecidos dunha clase por outra clase. Cando a herdanza se aplica a unha única clase, denomínase herdanza única; cando depende de moitas clases, denomínase herdanzas múltiples.
9. Que é precisamente o encapsulamento?
A idea de POO inclúe tamén a encapsulación. Describe a combinación de datos e técnicas de manipulación de datos. Ademais, axuda a evitar o acceso directo a algunhas partes dun obxecto.
10. Que é o polimorfismo?
Nas linguaxes POO, o polimorfismo é un concepto fundamental. Mostra como diferentes clases poden compartir unha interface. Todas estas clases son capaces de ter implementacións de interface únicas.
11. Que é exactamente a abstracción?
A abstracción é o concepto de programación orientada a obxectos (POO) usado para crear a estrutura de obxectos do mundo real. "Mostra" só as calidades máis importantes e "oculta" información estraña do mundo exterior. O obxectivo básico da abstracción é protexer á xente da información innecesaria.
12. Que é exactamente a sobrecarga de métodos?
É posible que dous ou máis procedementos teñan o mesmo nome. Non obstante, deberían ter distintos parámetros, diferentes números de parámetros, distintos tipos ou ambos. Estes coñécense como métodos sobrecargados e a función coñécese como sobrecarga de métodos.
13. Que é exactamente a substitución do método?
A programación orientada a obxectos inclúe a idea de substituír o método. É unha función de linguaxe que permite que unha subclase ou unha clase filla ofreza unha implementación personalizada dun método que xa proporciona unha das súas superclases ou clases principais.
14. Que é precisamente unha superclase?
Unha superclase, a miúdo coñecida como clase base, é un tipo de clase que actúa como pai doutra ou clases. A clase Coche, por exemplo, ten unha subclase chamada Vehículo.
15. Que é precisamente unha subclase?
Unha subclase é unha subclase doutra clase. Unha furgoneta, por exemplo, é unha subclase de vehículos ou clase derivada.
16. Que é exactamente o polimorfismo estático?
No momento da compilación, ten lugar un tipo de polimorfismo coñecido como polimorfismo estático (enlace estática). A sobrecarga de métodos é un tipo de polimorfismo en tempo de compilación.
17. Que é exactamente o polimorfismo dinámico?
Unha especie de polimorfismo que se resolve en tempo de execución chámase polimorfismo en tempo de execución, tamén coñecido como polimorfismo dinámico (enlace dinámico). A anulación de métodos é unha ilustración do polimorfismo en tempo de execución.
18. Describe a noción de Construtor.
Un construtor é un método específico dunha clase que se chama automaticamente cando se crea unha instancia de clase. Cando accede á clase, constrúese co mesmo nome que a clase e inicializa todos os seus membros. As características principais dun construtor son as seguintes:
Non hai ningún tipo de retorno para os construtores.
É posible sobrecargar os construtores.
Non é necesario especificar un construtor; the.NET Framework farao automaticamente.
19. Cales son exactamente os modificadores de acceso?
Nas linguaxes orientadas a obxectos, as palabras clave son modificadores de acceso ou especificadores de acceso. Axuda na configuración de clases, métodos e accesibilidade doutros membros.
20. Que é exactamente un destrutor?
Un destrutor é un método para liberar os recursos asignados a un obxecto. Cando se destrúe un obxecto, este método chámase automaticamente.
21. Que é exactamente a herdanza híbrida?
A herdanza híbrida é unha especie de herdanza xerada pola mestura de varias formas de herdanza como simple, múltiple, etc.
22. Que é precisamente a herdanza xerárquica?
Varias subclases herdan dunha clase pai na situación de herdanza xerárquica. Unha especie de herdanza na que numerosas clases descenden dun único pai ou clase base coñécese como herdanza xerárquica. Por exemplo, a clase de froitas pode conter subclases como 'mazá, 'mango', 'plátano', 'cereixa', etc.
23. Cales son os inconvenientes da herdanza?
Alarga e complica o proceso de execución. Tamén é necesario cambiar entre varias clases. As clases dos pais e dos fillos sempre están inextricablemente ligadas.
As modificacións do currículo requirirían revisións tanto para o pai como para a clase do neno. A herdanza debe implementarse con coidado ou os resultados serán incorrectos.
24. Que é exactamente unha excepción?
Unha excepción é un incidente que interfire co funcionamento habitual do código. Para continuar coa execución, pode xestionar estas excepcións en Java. En Java, hai moitos tipos de excepcións predefinidas, e ofrécese o manexo de excepcións para controlar as excepcións levantadas usando bloques try-catch.
25. Que é exactamente o manexo de excepcións e cales son os seus beneficios?
O método máis importante en Java para xestionar fallos de execución inesperados é o manexo de excepcións. Permítelle controlar os erros de execución que se producen durante a execución do programa.
Os beneficios do manexo de excepcións inclúen a capacidade de manter o fluxo regular do programa mentres se xestionan as excepcións. Por exemplo, se ocorre un erro nunha sección do programa, non terá ningún efecto no resto do programa se manexamos a excepción con bloques try-catch.
26. Que son exactamente as funcións virtuais?
As funcións virtuais tamén se inclúen nas funcións da clase pai e son substituídas pola subclase. Estas rutinas axudan a conseguir o polimorfismo en tempo de execución.
27. Que é exactamente a función amigo?
Unha función amigo é unha función que pertence a unha clase e ten permiso de acceso aos seus datos públicos, privados ou protexidos. Se a función está definida fóra da clase, non é posible recuperar estes datos. As palabras clave de control de acceso privado, público e protexido non teñen ningunha relación coa declaración de amigo, que se pode facer en calquera parte da declaración de clase.
28. Que é exactamente a recollida de lixo?
A recollida de lixo (GC) é un elemento de linguaxes de programación como C# e Java que serve como sistema de recuperación de memoria. Un motor de recollida de lixo (GC) é un compoñente dunha linguaxe de programación que permite a liberación automática de espazo de memoria para os obxectos que a aplicación xa non utiliza.
29. Que é precisamente o acoplamento?
Refírese a situacións nas que varias clases confían unhas nas outras e comparten coñecementos. Unha conexión forte ocorre cando unha clase ten coñecemento detallado doutra. Podes especificar a visibilidade de clases, métodos ou variables mediante modificadores de acceso. As interfaces úsanse para proporcionar un acoplamento máis débil.
30. Que é precisamente a cohesión?
A forma en que un compoñente realiza unha determinada actividade denomínase a súa cohesión. Un enfoque forte e cohesionado simplemente fará a tarefa definida, mentres que un método débil e cohesionado dividiría a tarefa única en varias tarefas máis pequenas e despois completalas.
O paquete Java.io é bastante coherente, pero o paquete java.util non.
31. Describe un bloque try/catch.
Cando un programa atopa un erro debido a un código ou datos incorrectos, "try" e "catch" indican como xestionalo. Un bloque try é o nome da parte do código cando se producen excepcións. Un bloque catch úsase para capturar e xestionar excepcións dos bloques try.
32. Describe un bloque final.
A parte de traballo do código da palabra clave try indícase a última. Designa o código que sempre se executa inmediatamente despois da proba e calquera bloque de captura antes de que se complete o método. O bloque final sempre se executa tanto se se lanza como se detecta unha excepción.
33. Que é exactamente unha interface?
Unha interface é unha combinación de métodos abstractos e un tipo de datos definido polo usuario. Unha clase implementa unha interface, herdando as funcións abstractas da interface.
Unha clase representa as propiedades e comportamentos dun obxecto, mentres que unha interface inclúe os comportamentos que implementa unha clase. A interface representa "o que", mentres que a clase transmite "como".
34. Que é exactamente a composición?
A composición pódese usar para conseguir unha conexión. Demostra unha forte conexión de obxectos entre os obxectos dependentes e independentes, en oposición á agregación. O obxecto dependente non existe nesta circunstancia e eliminarase se se borra o obxecto pai.
35. Que é exactamente o encadeamento de construtores?
O encadeamento de construtores é unha técnica para chamar a un construtor desde outro en relación coa referencia do obxecto actual. Hai dúas opcións:
- Pódese facer referencia ao construtor da clase actual usando a palabra clave "this".
- A palabra clave "super" empregarase para invocar o construtor desde a clase base.
Conclusión
A programación orientada a obxectos require pensar na estrutura do programa e prepararse con antelación. Examinando como dividir os requisitos en clases básicas e reutilizables que se poden usar para crear instancias de cousas.
En xeral, a adopción de POO ofrece unha mellora estruturas de datos e reutilización, o que aforra tempo a longo prazo. Ver Serie de entrevistas de Hashdork para axudar na preparación da entrevista.
Deixe unha resposta