Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UTS - BUCARAMANGA
FACULTAD DE CIENCIAS NATURALES E INGENIERIAS
TERCER PARCIAL DE: FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
PRUEBA ESCRITA (40 %)
Nombre: Código: Resultado:
NOTA: Debe crear un documento con portada, se debe colocar el enunciado de cada ejercicio, el código
fuente con capturas de imágenes legibles y capturas del resultado al compilar. Se debe subir a la plataforma
ATENA el PDF.
a) Realizar un formulario con el uso de listas y con el botón insertar permita ingresar cada uno de los
números naturales y el botón borrar eliminarlos. VALOR 0.5
b) Crear un proyecto para el siguiente ejemplo de los métodos de la programación orientada a objetos.
Se debe entregar del enlace de la carpeta comprimida en la nube del proyecto funcional. Valor 1.0
Clase Abstracta:
Una clase que declara la existencia de métodos, pero no la implementación de dichos métodos (o sea,
las llaves { } y las sentencias entre ellas), se considera una clase abstracta.
Una clase abstracta puede contener métodos no-abstractos, pero al menos uno de los métodos debe
ser declarado abstracto.
Para declarar una clase o un método como abstractos, se utiliza la palabra reservada abstract.
Una clase abstracta no se puede instanciar, pero si se puede heredar y las clases hijas serán las
encargadas de agregar la funcionalidad a los métodos abstractos. Si no lo hacen así, las clases hijas
deben ser también abstractas.
public Poligono() {
}
}
Esta clase tiene un atributo entero numLados. Además contiene el método abstracto area() y se ha
modificado (Override) el método toString() heredado de Object.
A partir de la clase Poligono vamos a crear las clases Rectangulo y Triangulo como derivadas de ella.
//Clase Rectangulo hereda de Poligono
public class Rectangulo extends Poligono{
private double lado1;
private double lado2;
public Rectangulo() {
}
Vamos a escribir un programa para utilizar estas clases y ver cómo funciona el polimorfismo. Vamos a
crear objetos de tipo Triángulo y Rectángulo y los guardaremos en un ArrayList. En lugar de tener dos
arrays distintos uno para triángulos y otro para rectángulos, los guardaremos todos juntos utilizando un
ArrayList de Poligonos.
El programa creará objetos, leerá sus datos por teclado y los guardará en el ArrayList de Polígonos. A
continuación, se recorrerá el array y se mostrarán los datos de cada objeto y su área.
//Clase Principal
public class Polimorfismo1 {
System.out.print(p.toString());
System.out.printf(" area: %.2f %n", p.area());
}
}
}
El polimorfismo es posible porque, como ya hemos visto con la Herencia, cuando se invoca un método
mediante una referencia a una clase base, se ejecuta la versión del método correspondiente a la clase
del objeto referenciado y no al de la clase de la variable que lo referencia.
Por lo tanto, el método que se ejecuta se decide durante la ejecución del programa.
A este proceso de decidir en tiempo de ejecución qué método se ejecuta se le denomina enlazado
dinámico.
El enlazado dinámico es el mecanismo que hace posible el polimorfismo.
El enlazado dinámico es lo opuesto a la habitual vinculación estática o enlazado estático que consiste
en decidir en tiempo de compilación qué método se ejecuta en cada caso.
En el programa anterior podemos ver donde se produce enlazado dinámico y donde enlazado estático:
c) Crear un formulario con el uso de 6 controles para recopilar información sobre la hoja de vida de una
persona y que esta información se imprima (Se debe observar su nombre). VALOR 1.0
d) Crear el siguiente proyecto sobre la factura de productos. (Se debe observar su nombre). VALOR 1.0
UNIDADES TECNOLOGICAS DE SANTANDER
UTS - BUCARAMANGA
FACULTAD DE CIENCIAS NATURALES E INGENIERIAS
TERCER PARCIAL DE: FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
LA SUPERCLASE: