Está en la página 1de 15

Unidad I Unidad II Unidad III

METODOLOGÍAS DE
PROGRAMACIÓN
Características de la Programación
Orientada a Objetos (II)
SESIÓN

21-22
Ing. Ernesto Nicho Córdova
www.usat.edu.pe ncordova@usat.edu.pe
Presentación inicial

• Marcar asistencia
Propósito de la sesión

Objetivo
Resultado de Aprendizaje UNIDAD 01
Comprende y aplica
las características de
Construye programas de
Logro de la asignatura
la programación computadora en Java con
orientada a objetos: Interfaces Gráficas de
Competencias de
Construye programas de
Herencia Usuario mediante la computadora con interfaz perfil de egreso
aplicación de los gráfica de usuario, mediante
fundamentos de la La asignatura Metodologías
la utilización de la de Programación, que
programación orientada a metodología y un lenguaje
objetos corresponde al área de
de programación orientada estudios Específicas,
a objetos. contribuye al logro del perfil
de egreso, específicamente
a las competencias:
• CE3: DESARROLLO DE SOFTWARE
• CG2: RESOLUCIÓN DE
PROBLEMAS CON RIGOR
CIENTÍFICO

3
Contenidos

Abstracción

Encapsulamiento

Polimorfismo

Clases abstractas e interfaces

Herencia
4
Herencia
• Es el proceso mediante el cual un
objeto de una clase adquiere Clase Padre
ClasePadre
Clase Base
propiedades definidas en otra Super Clase

clase que lo preceda en una


jerarquía de clasificaciones. Las
clases heredan los datos y métodos
de la superclase. ClaseHija1 ClaseHija2 ClaseHija n

• La herencia puede ser simple (cada


clase tiene solo una superclase) o
Clase Hija
múltiple (cada clase puede tener Clase Derivada
Sub Clase
asociada varias superclases).[7]
• El manejo de herencia permite la
reutilización y evitar redundancia.
5
Herencia Simple

getMatricula() SetMatricula()
getModelo() setModelo()
getPotenciaCV() setPotenciaCV()

6
Ejemplo

7
Herencia Múltiple

Java no soporta
herencia múltiple

8
Sobreescritura o anulación de miembros
de una clase Vehiculo
ruedas: int Superclase
• Como sabemos las clases hijas velocidad: double
heredan los métodos o atributos de la acelerar(int)
clase padre siempre y cuando los frenar(int)
heredados
especificadores de acceso lo permiten.
• Pero las clases hijas los pueden redefinidos
sobrecargar para proporcionar una
nueva versión, pero también los puede Automovil
anular. ruedas: int =4
• Cuando una clase hija por ejemplo combustible: String
define un método o atributo idéntico a cerrarPuertas():void Subclase
un método o atributo de la clase padre, frenar(int)
se dice entonces que sobrescribe o
anula el método o atributo de su padre; Shadowing: ocultación de atributos
es decir prevalece el miembro del hijo. Overriding: Sobreescritura de métodos

9
Anulación de métodos

10
super
• A veces se requiere llamar a un
método de la clase padre que fue
sobrescrito en la clase hija. Eso
se realiza con la palabra
reservada super.
• Si this hace referencia a la clase
actual, super hace referencia a la
clase padre desde la clase hija.
• En el ejemplo desde la clase hija
coche se llama al método
acelerar de la clase padre, el cual
fue sobrescrito por la clase hija.

11
final
• Es una palabra reservada en Java que se coloca antecediendo
en un método, variable o clase.
– Si se usa delante de un método en la definición de clase sirve para indicar que
ese método no puede ser sobrescrito por las clases hijas. Si una clase hija
intenta sobrescribir el método, el compilador de Java avisará el error. Ejemplo:
public final void setA (int x)
{
a=x;
}
– Si se usa delante de una clase, significará que esa clase no puede tener
descendencia. Ejemplo:
public final class Ejemplo {
}
– Si se usa delante de una variable o atributo, entonces éstos pasan a ser
constantes; es decir no se les podrá cambiar de valor en ninguna parte del
código.
13
Conclusiones
• La relación de herencia indica que una clase llamada hija, hereda los atributos y los
métodos de una clase padre siempre y cuando el especificador o modificador de
acceso permita esto.
• Una clase hija puede sobre escribir o anular un atributo o método que ha heredado
del padre.

Próxima sesión
– Ejercicios características de la POO.

14
Referencias
• [1] L. Joyanes, Fundamentos de programación. Algoritmos, estructura de datos y
objetos, 4a ed. Madrid: McGraw-Hill, 2008.
• [2] P. Deitel y H. Deitel, Como programar en Java, 10a ed. México: Pearson
Educación, 2016.
• [3] P. Sznajdleder, Java a Fondo, 3a ed. Buenos Aires: Alfaomega, 2016.
• [4] B. Eckel, Piensa en Java, 4a ed. Madrid: Pearson Educación, 2007.
• [5] Departamento de Formación, Fundamentos de la programación en Java. INSA,
2017.
• [6] A. Jiménez Marín y F. Pérez Montes, Aprende a programar con Java. Un
enfoque práctico de cero, 2a ed. Madrid: Paraninfo, 2016.
• [7] Y. Pascuas, Compilado de Programación II. Fundamentos de programación
orientada a Objetos. Florencia: Universidad de la Amazonía, 2014.
15

También podría gustarte