UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
POLIMORFISMO UNIDAD 4.
Herencia en C#.
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Arquitectura CLARO-TECNOTREE
REFERENCIA AL OBJETO DE LA CLASE BASE
Curso Programación en Java
Herencia y Polimorfismo
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
Diseño y programación de
PROGRAMACION ORIENTADA A OBJETOS
Rosalía Laza Fidalgo Reyes Pavón Rial Curso
Programación Orientada a Objetos en Java
HERENCIA.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Medio de tele-comunicación
Modificadores.
Herencia y Polimorfismo en JAVA
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
6. Herencia. Clases abstractas. Genericidad
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada a Objetos
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Programación Orientada a Objetos
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Programación orientada a objetos
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
UNIVERSIDAD TECNICA DE BABAHOYO EXTENSION DE QUEVEDO  Espinales Lisseth G RUPO N º 2 Temas:  Herencia  Polimorfismo  Encapsulamiento  2 Ejemplos Estudiante.
HERENCIA.
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
Clases “ Es una Abstracción de un elemento del mundo real ”
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
 En Java, como en otros lenguajes de programación orientados a objetos, las clases pueden derivar desde otras clases. La clase derivada (la clase que.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Tópicos Avanzados de Programación (TAP3501)
Transcripción de la presentación:

UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón

Herencia  La herencia es la relación que existe entre dos clases, en la que la clase denominada derivada se crea a partir de otra ya existente, denominada clase base.  En Java, todas las clases deben derivar de alguna clase. La clase más alta, la clase de la que todas las demás descienden, es la clase Object, definida en java.lang. Object es la raíz de la herencia de todas las clases.  La herencia o extensión de clases es comúnmente utilizada para la especialización, donde la clase extendida (derivada) define su nuevo comportamiento y por tanto se convierte en una versión especializada de su superclase.

 En java se debe incluir la palabra reservada extends en la declaración de la clase derivada. Lo que produce que todos los miembros no privados (prívate) en la clase base sean heredados en la clase derivada.  public class nombre_claseDerivada extends nombre_claseBase {

 La nueva clase, a la que se denomina subclase, puede poseer atributos y métodos que no existan en la clase original.  Los objetos de la nueva clase heredan los atributos y los métodos de la clase original( superclase )

Ejemplo

 Trabajador es una clase generica que sirve para almacenar datos como : nombre, direccion, numero de telefono, o el numero de seg.social de un trabajador.  Empleado es una clase especializada para representar los empleados que tienen una nomina mensual o semanal  Consultor es una clase especializada para representar a aquellos trabajadores que cobran por horas(honorarios).

 Las subclases heredan variables miembro declaradas: public protected sin especificador de acceso (siempre que la subclase esté en el mismo paquete que la clase).  Las subclases NO heredan variables miembro declaradas: private con el mismo nombre que en la superclase. La variable miembro de la subclase se dice que oculta a la variable miembro de la superclase.

 Las clases Empleado y Consultor además de los atributos y de las operaciones que definen heredan de la clase Trabajador todos sus atributos y operaciones.

Ejemplo class Empleado { String nombre; int numEmpleado, sueldo; static private int contador = 0; Empleado(String nombre, int sueldo) { this.nombre = nombre; this.sueldo = sueldo; numEmpleado = ++contador; } public void aumentarSueldo(int porcentaje) { sueldo += (int)(sueldo * aumento / 100); } public String toString() { return "Num. empleado " + numEmpleado + " Nombre: " + nombre + " Sueldo: " + sueldo; }

class Ejecutivo extends Empleado { int presupuesto; void asignarPresupuesto(int p) { presupuesto = p; } A Empleado se le llama clase base o superclase y a Ejecutivo clase derivada o subclase. Los objetos de las clases derivadas se crean igual que los de la clase base y pueden acceder tanto sus datos y métodos como a los de la clase base. Por ejemplo:

Creación de un objeto Ejecutivo jefe = new Ejecutivo( "Armando Mucho", 1000); jefe.asignarPresupuesto(1500); jefe.aumentarSueldo(5);

Ocultación de atributos  Como se mencionó anteriormente, las variables miembros definidas en la subclase ocultan las variables miembro que tienen el mismo nombre en la superclase.  Como esta característica del lenguaje Java es poderosa y conveniente, puede ser una fuente de errores: ocultar una variable miembro puede hacerse deliberadamente o por accidente. Entonces, cuando nombres tus variables miembro se cuidadoso y oculta sólo las variables miembro que realmente deseas ocultar.

Redefinición de métodos. El uso de super. Además se podría pensar en redefinir algunos métodos de la clase base pero haciendo que métodos con el mismo nombre y características se comporten de forma distinta. Por ejemplo podríamos pensar en rediseñar el método toString de la clase Empleado añadiendo las características propias de la clase Ejecutivo. Así se podría poner:

class Ejecutivo extends Empleado { int presupuesto; void asignarPresupuesto(int p) { presupuesto = p; } public String toString() { String s = super.toString(); s = s + " Presupuesto: " + presupuesto; return s; }

Inicialización de clases derivadas  Cuando se crea un objeto de una clase derivada se crea implícitamente un objeto de la clase base que se inicializa con su constructor correspondiente. Si en la creación del objeto se usa el constructor, entonces se produce una llamada implícita al constructor para la clase base. Pero si se usan otros constructores es necesario invocarlos explícitamente.  En nuestro ejemplo dado que la clase método define un constructor, necesitaremos también un constructor para la clase Ejecutivo, que podemos completar así:

class Ejecutivo extends Empleado { int presupuesto; Ejecutivo (String n, int s) { super(n,s); } void asignarPresupuesto(int p) { presupuesto = p; } public String toString() { String s = super.toString(); s = s + " Presupuesto: " + presupuesto; return s; }  El constructor de Ejecutivo invoca directamente al constructor de Empleado mediante super(argumentos). En caso de resultar necesaria la invocación al constructor de la superclase debe ser la primera sentencia del constructor de la subclase.