Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.

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:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
POLIMORFISMO UNIDAD 4.
Programación Interactiva Fundamentos de Java. 2 Ejecución de un programa Para Java una clase ejecutable es aquella que es pública y tiene un método main()
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.
UML 1.4 Peter Emerson Pinchao Solis.
Herencia simple y multiple
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
UNIVERSIDAD LATINA (UNILA)
Aplicación del paradigma orientado a objetos
Diseño y programación de
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.
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
Herencia e Interfaces.
Medio de tele-comunicación
Modificadores.
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
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.
Tema 10: Interfaces Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
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
Programación orientada a objetos
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Patrones de diseño DECORATOR Mario Rodríguez Martín
Tema 9: Paquetes Antonio J. Sierra. Índice 1. Introducción. 2. Protección de acceso. 3. Importación de paquetes. 4. Modelado UML de un paquete.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
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.
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.
PROGRAMACION ORIENTADA A OBJETOS POR OVER YESID BARRERA FERNANDEZ.
Detalles Generales sobre Java
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.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
HERENCIA.
FUNDAMENTOS DE PROGRAMACION
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,
La Programación Orientado a 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.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
 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.
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.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
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.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
Transcripción de la presentación:

Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009

Herencia  La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes.  La herencia ofrece una ventaja importante, permite la reutilización del código. Una vez que una clase ha sido depurada y probada, el código fuente de dicha clase no necesita modificarse. Su funcionalidad se puede cambiar derivando una nueva clase que herede la funcionalidad de la clase base y le añada otros comportamientos.  En Java no se puede hacer herencia múltiple

Modificadores de Acceso  Hay cuatro modificadores de acceso a los miembros dato y a los métodos: private, protected, public y default (por defecto, o en ausencia de cualquier modificador).  La herencia complica aún más el problema de acceso, ya que las clases dentro del mismo paquete tienen diferentes accesos que las clases de distinto paquete

Modificadores de Acceso public - Todo el mundo puede acceder al elemento. Si es un dato miembro, todo el mundo puede ver el elemento, es decir, usarlo y asignarlo. Si es un método todo el mundo puede invocarlo. Si es en una clase: Todo el mundo puede usarla. Se pueden crear instancias de esa clase, siempre y cuando alguno de sus constructores sea accesible private - Sólo se puede acceder al elemento desde métodos de la clase, o sólo puede invocarse el método desde otro método de la clase.

Modificadores de Acceso protected - El modificador de acceso protected es una combinación de los accesos que proporcionan los modificadores public y private. protected proporciona acceso público para las clases derivadas y acceso privado (prohibido) para el resto de clases. Sin modificador(default) - Se puede acceder al elemento desde cualquier clase del package donde se define la clase. Si es en una clase: Solo puede ser usada e instanciada por clases dentro del package donde se define. Pueden utilizarse estos modificadores para cualquier tipo de miembros de la clase, incluidos los constructores (con lo que se puede limitar quien puede crear instancias de la clase).

Clases Abstractas Una clase abstracta es una clase de la que no se puede crear objetos. La utilidad esta en que otras clases hereden de ésta, para reutilizar código. Para declarar una clase como abstracta utilizamos la palabra reservada abstract. Los métodos sin implementar serán declarados abstractos. Si una clase tiene un método abstract es obligatorio que la clase sea abstract. Todas las subclases que hereden de una clase abstracta tendrán que redefinir los métodos abstractos dándoles una implementación. En el caso de que no implementen alguno de esos métodos la clase hija también será abstracta y tendrá que declararse como tal (tanto la clase como los métodos que siguen siendo abstractos).

Clases Abstractas public abstract class Forma { private int xpos, ypos; private Color color; //... public abstract void dibuja(); public void setColor(Color c) { /*...*/ }; }

Clases Abstractas public class Circle extends Forma { private int radio; public void dibuja() { /*...*/ }; public void setRadio(int) { /*...*/ }; }

Clases Abstractas public class Rectangle extends Forma { private int altura, anchura; public void dibuja() { /*...*/ }; public void setAltura(int) { /*...*/ }; }

Interfaces Un interface es parecido a una clase abstracta en Java, pero con las siguientes diferencias:una clase abstracta en Java - Todo método es abstracto y público sin necesidad de declararlo. Por lo tanto un interface en Java no implementa ninguno de los métodos que declara. -Las variables del interface serán las variables miembro de la clase.variables miembro de la clase - Un interface se implementa (implements) no se extiende (extends) por sus subclases.

Interfaces -Una clase puede implementar más de un interfaz en Java, pero sólo puede extender una clase. (Es lo más parecido que tiene Java a la herencia múltiple, 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.

Interfaces Vamos a crear un interface denominado Mensaje que contenga la declaración de una función denominada Muestra. public interface Mensaje { public abstract void Muestra(); } Hacemos que la jerarquía de clases que deriva de Animal implemente la interface Mensaje public abstract class Animal implements Mensaje { public abstract void Muestra(); }

Interfaces class Perro extends Animal { public void Muestra(){ System.out.println("¡Guau!"); } class Gato extends Animal { public void Muestra(){ System.out.println("¡Miau!"); }

Interfaces Ahora con otra jerarquía de clases completamente distinta, la que deriva de la clase base Reloj. Una de las clases de dicha jerarquía Cucu implementa el interface Mensaje y por tanto, debe de definir obligatoriamente la función Muestra declarada en dicho interface. public abstract class Reloj { } class Cucu extends Reloj implements Mensaje{ public void Muestra(){ System.out.println("¡Cucu, cucu,..!"); } }

Interfaces Definamos la función Muestra2 de modo que conozca al objeto que se le pasa no por una clase base, sino por el interface Mensaje. public class PoliApp { public static void main(String[] args) { Gato gato=new Gato(); Muestra2(gato); Cucu cucu=new Cucu(); Muestra2(cucu); } static void Muestra2(Mensaje sujeto){ sujeto. Muestra2(); }