Está en la página 1de 3

ENTREVISTA TCNICA. Preguntas relacionadas con la Programacin orientada a objetos. 1. Qu es la Herencia?

Las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple 2. Que es la Herencia Mltiple? Existe en java? hace referencia a una caracterstica de los lenguajes de programacin orientada a objetos en la que una clase puede heredar comportamientos y caractersticas de ms de una superclase. Esto contrasta con la herencia simple, donde una clase slo puede heredar de una superclase. La herencia mltiple en java no es soportada nativamente. 3. Como se puede solucionar este problema? Los desarrolladores la simulan utilizando la palabra reservada implements e interfaces ya que una clase puede implementar varias interfaces. 4. Qu es el Polimorfismo? Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin dinmica 5. Qu es la sobrecarga de mtodos? La firma de un mtodo es la combinacin del tipo de dato que regresa, su nombre y su lista de argumentos. La sobrecarga de mtodos es la creacin de varios mtodos con el mismo nombre pero con diferentes firmas y definiciones. Java utiliza el nmero y tipo de argumentos para seleccionar cul definicin de mtodo ejecutar. 6. Qu es una interfaz en Java?

Un interface es simplemente una lista de mtodos no implementados, adems puede incluir la declaracin de constantes. Una clase abstracta puede incluir mtodos implementados y no implementados o abstractos, miembros dato constantes y otros no constantes. 7. Qu es una clase abstracta? Java proporciona las clases y mtodos abstractos. Un mtodo abstracto es un mtodo declarado en una clase para el cual esa clase no proporciona la implementacin (el cdigo). Una clase abstracta es una clase que tiene al menos un mtodo abstracto. Una clase que extiende a una clase abstracta debe implementar los mtodos abstractos (escribir el cdigo) o bien volverlos a declarar como abstractos, con lo que ella misma se convierte tambin en clase abstracta. Toda clase concreta derivada debe reemplazar los mtodos y propiedades abstractos de la clase base, utilizando la palabra clave override, y proveer implementaciones concretas de tales mtodos y propiedades. 8. Diferencia entre interfaz y clase abstracta. Todo mtodo es abstracto y pblico sin necesidad de declararlo. Por lo tanto una interface en Java no implementa ninguno de los mtodos que declara. Las variables del interface sern las variables miembro de la clase. Un interface se implementa (implements) no se extiende (extends) por sus subclases. Una clase puede implementar ms de un interfaz en Java, pero slo puede extender una clase. Es lo ms parecido que tiene Java a la herencia mltiple, que de clases normales est prohibida. Podemos declarar variables del tipo de clase del interfaz, pero para inicializarlas tendremos que hacerlo de una clase que lo implemente. Algunas preguntas de su experiencia. 1. 2. 3. 4. 5. 6. 7. Qu frameworks has usado? Que IDE has usado? Qu servidor de aplicaciones has usado? Qu otras tecnologas has aplicado junto a java? Has usado sistemas de versiones? Cules? Qu patrones de diseo conoces? Qu es un singleton?

EJERCICIOS Prcticos. 1. Implementar un singletn. ( En caso de que no sepa implementarlo, se le podra dar la posibilidad de leer acerca de esto, q la persona vea algn ejemplo, luego que intente hacerlo sin ver la informacin q se le ha facilitado) No slo es importante que la persona sepa

implementarlo sin informacin, tambin es importante que tenga el conocimiento y la capacidad de resolver el problema lo de informarse.

public class Singleton { private static Singleton instance = null; private Singleton() {} public static Singleton GetInstance() { if (instance == null) instance = new Singleton(); return instance; } }

2. Otro ejercicio bueno sera darle un diagrama de clases simple. Y a continuacin que lo implemente en java. 3. A partir de esa implementacin se le podra hacer preguntas acerca de cmo creara un objeto, constructores, sobrecarga de mtodos, sobrecarga de constructores, etc 4. Declarar una clase abstacta y luego extenderla. abstract class FiguraGeometrica { . . . abstract void dibujar(); . . . } class Circulo extends FiguraGeometrica { . . . void dibujar() { // codigo para dibujar Circulo . . . } }

También podría gustarte