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.

Slides:



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

Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
Herencia en C#.
Lenguaje de programación Java
SCJP Sun Certified Programmer for Java 6
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
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Informática II Prof. Dr. Gustavo Patiño MJ
Herencia y Polimorfismo
Aplicación del paradigma orientado a objetos
Diseño y programación de
PROGRAMACION ORIENTADA A OBJETOS
Programación Orientada a Objetos en Java
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Medio de tele-comunicación
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.
Tema 6: Clases Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
6. Herencia. Clases abstractas. Genericidad
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
Diplomado Desarrollo de Aplicaciones en Internet
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Interfaces. Introducción La unidad fundamental en el lenguaje de programación Java es la clase, pero la unidad fundamental del diseño orientado a objetos.
Informática II Interfaces zLas interfaces declaran un tipo que se componen sólo de métodos abstractos y constantes. zLa definición de una clase hace pensar.
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
Tema 8: Herencia Antonio J. Sierra.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Programación orientada a objetos
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
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,
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.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
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,
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
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.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
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.
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 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.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Transcripción de la presentación:

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.

Informatica II2 Clases Extendidas Una clase extendida se puede usar en cualquier lugar en que se podía usar la superclase. Esto se conoce como polimorfismo. Clases diferentes, que se denominan polimorficas pueden implementar métodos con el mismo nombre. Es decir objetos de clases distintas pueden entender mensajes iguales. Las clases extendidas, en Java, se declaran con la claúsula extends.

Informatica II3 Clases Extendidas En Java todos los ejemplos que hemos visto hasta ahora extienden implicitamente de la clase Object. Object es la raíz de todas las clases. Esta clase declara métodos que heredan todas las clases. Las variables de clase Object pueden referenciar cualquier objeto.

Informatica II4 Ejemplo de clases extendidas import java.io.*; class vehiculo {protected long idnum; protected String nombre = "sin nombre"; private static long sigId = 0; vehiculo() { idnum = sigId++; } protected long getsigId(){ return sigId; } public static void main(String [] args) { vehiculo auto = new vehiculo(); auto.nombre = "Miauto"; vehiculo colectivo = new vehiculo(); colectivo.nombre = "Micolectivo"; System.out.println("Vehiculo" + auto.nombre); System.out.println("Vehiculo" + colectivo.nombre); }

Informatica II5 Ejemplo de clases extendidas class Vehiculopasajeros extends vehiculo { int asientos = 50; int ocupados; public Vehiculopasajeros( int disponibles, int ocu){ super(); asientos = disponibles; ocupados = ocu; }

Informatica II6 Ejemplo de clases extendidas public static void main(String [] args) { int cant = 60; int ocu = 0; Vehiculopasajeros Urbano = new Vehiculopasajeros(cant,ocu); System.out.println(" sigid de Urbano : " + Urbano.getsigId()); Vehiculopasajeros Inter = new Vehiculopasajeros(cant,ocu); System.out.println(" sigid de Inter : " + Inter.getsigId());

Informatica II7 Urbano.nombre = "Cinta de Plata"; Inter.nombre = "Turicenter"; System.out.println("Vehiculo de pasajeros : " + Urbano.nombre); System.out.println(); System.out.println("Vehiculo de pasajeros : " + Urbano.asientos); } Ejemplo de clases extendidas

Informatica II8 Significado de protected Un miembro protegido se puede acceder desde una clase por medio de referencias de objeto que sean del mismo tipo que la clase o de sus clases extendiadas. vehiculo Vehiculopasajeros combi auto protected nombre Vehiculopasajeros puede acceder a nombre, a través de una referencia a Vehiculopasajeros o una referencia a combi. No puede acceder a través de una referencia a auto.

Informatica II9 Significado de protected Si nombre fuese estático, puedo acceder a él a través de cualquier referencias a cualquier tipo vehiculo. Los miembros declarados protected también son accesibles a todo el código de paquete. El mismo tratamiento explicado con los campos, ocurre con los métodos.

Informatica II10 Constructores en las clases extendidas La clase extendida debe invocar uno de los constructores de la superclase, para que la parte del objeto que controla la superclase sea construído en forma correcta. Para ello se puede usar super( ); Si no se invoca en forma explícita un constructor de la superclase, se invoca en forma automática el constructor sin argumentos de la superclase, por lo cual la superclase debería tener un constructor no-arg.

Informatica II11 Valores iniciales para los campos Tipos Valores iniciales numericos0 char/u0000 booleanfalse referencias a objetosnull

Informatica II12 Orden de ejecución 1. Invocar un constructor de la superclase. 2. Inicializar los campos usando sentencias de inicialización. 3. Ejecutar el cuerpo del constructor.

Informatica II13 Anulación de métodos y ocultamiento de campos anulan Métodos sobrecargan Campos ocultan

Informatica II14 Anulación de métodos y ocultamiento de campos Sobrecargar un método es tener más de un método con el mismo nombre pero con signaturas distintas. Anular un método es sustituir la implementación de un método de la superclase, por una implementación propia para la subclase. Las signaturas deben ser idénticas y el tipo devuelto también deben ser iguales. La claúsula throws del método anulador puede listar menos tipos de excepciones que la claúsula throws del método que se anuló, pero nunca más.

Informatica II15 Anulación de métodos y ocultamiento de campos Los métodos anulados tienen sus propios especificadores de acceso. Una clase extendida puede modificar el acceso de los métodos de la superclase, pero sólo si otorga más acceso. Un método declarado protected puede ser redeclarado protected o public pero no private.

Informatica II16 Anulación de métodos y ocultamiento de campos Los campos no se pueden anular sólo se pueden ocultar. Para ocultarlo basta con declarar un campo del mismo nombre, que un campo que ya existe en la superclase. Para acceder al campo de la superclase utilice super o una referencia del tipo de la superclase.

Informatica II17 Anulación de métodos y ocultamiento de campos Cuando se invoca un método sobre un objeto, el tipo real del objeto determina que implementación se usa. Cuando se accede a un campo se usa el tipo declarado de la referencia. Tengo una clase A y una clase B que extiende de A. A segundo =new B( ); Determina la referencia al objeto Determina el tipo real del objeto

Informatica II18 Anulación de métodos y ocultamiento de campos La clase A,tiene un campo String x, y la clase B tiene también un campo String x,que oculta al campo de la superclase, y con un método mostrar que esta anulado en la clase extendida. B primero = new B( ); (B: clase extendida) A segundo = primero; (A superclase) primero.mostrar( ); segundo.mostrar( ); (siempre se invoca el método del tipo real del objeto, en este caso el método implementado en B). Primero.x; ( se refiere al campo de B) Segundo.x ( se refiere al campo de A)