Tema 1. Herencia y Polimorfismo
|
|
- Carla Ayala Vera
- hace 6 años
- Vistas:
Transcripción
1 ÍNDICE EDA. Unidad didáctica I: Conceptos de Java para Estructuras de Datos Tema 1. Herencia y Polimorfismo 1. Relaciones entre clases: Reutilización del software. 2. La Herencia como soporte Java del modelo ES UN(A) Conceptos básicos de Herencia y su sintaxis en Java. Definición de clases herederas. Compatibilidad d de tipos y polimorfismo. Enlace dinámico y uso de la sobreescritura. El operador instanceof La clase Object Diseño de una jerarquía de clases. Diseño de la clase base. Modificador protected. Utilidad de la sobrescritura. 3. Más Herencia en Java: Control de la sobrescritura y regulación de la Herencia El modificador final El modificador abstract Clases interface y herencia múltiple. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 2 1. Relaciones entre clases: Reutilización del software En la POO, el reúso de código presenta tres formas básicas: Se pueden usar clases de librería (Math, String, ). Se pueden definir nuevos tipos de datos como agregados de tipos más básicos: Relación entre clases TIENE UN(A). Se pueden definir especializaciones de un tipo dado: Relación entre clases ES UN(A). 1. Relaciones entre clases: Reutilización del software Figura Circulo Rectangulo Cuadrado Circulo Figura Raíz de la jerarquía Rectangulo Los tipos relacionados entre sí por particularización o especialización están ordenados parcialmente por inclusión, formando jerarquías Cuadrado EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 3 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 4
2 2.1 Conceptos básicos de Herencia Herencia: Mecanismo de los lenguajes orientados a objetos que soporta la especialización de clases (relación ES UN(A)). Dada una clase B, se puede definir otra clase D subtipo de B. Se dice que B es la clase base, y D es la derivada. class D extends B { 2.1 Conceptos básicos de herencia Estructura de los objetos de D: Los objetos de D heredan los atributos de B, sin tenerlos que declarar en D. En D se pueden declarar tantos atributos adicionales como sea necesario. Internamente, un objeto de clase D tendrá la misma estructura que un objeto de clase B, salvo los atributos añadidos que se hayan declarado en D. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 5 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D Conceptos básicos de Herencia Operaciones constructoras de D: La derivada D debe definir sus propias constructoras, tan sobrecargadas como sea preciso. Una constructora de D puede citar a una constructora de B con el nombre super. Ejemplo: public D(){ super();//por defecto, la constructora // sin parámetros // Inicialización de atributos //particulares de D Si no declara ninguna, se genera la constructora por defecto (sin parámetros) Conceptos básicos de Herencia Resto de métodos de D: D hereda todos los métodos públicos de B. Puede añadir métodos nuevos. Puede sobrescribir los métodos heredados de B para particularizarlos a los objetos de D: o o Se mantiene el perfil o cabecera, Se reescribe el cuerpo según sea necesario EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 7 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 8
3 2.1. Conceptos básicos de Herencia. Entre tipos primitivos: 2.1. Conceptos básicos de Herencia. Entre tipos primitivos. Ejemplos: byte short int char float double double x= 5.0; int n= x; ERROR: possible loss of precision double x= 5;// x vale 5.0, 5 se promociona a 5.0 int n= (int) x; // n vale 5, 5.0 se restringe a 5 boolean boolean b= true; int n= b; int n= (int) b; ERROR: incompatible types ERROR:inconvertible types EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 9 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D Conceptos básicos de Herencia. Entre tipos de una jerarquía de clases: Figura 2.1. Conceptos básicos de Herencia POLIMORFISMO: Una variable referencia puede apuntar a objetos de diferentes tipos, siempre que haya compatibilidad. Ejemplos: Circulo Rectangulo Cuadrado ERROR: incompatible types ERROR: inconvertible types Figura f= new Figura(); Circulo c = new Circulo(); Figura f2= c; Circulo c2= f; Circulo c3= (Circulo) new Figura(); c3 = (Circulo) new Rectangulo(); f color tipo f color tipo radio Figura f= new Figura();//Figura f = new Circulo(); //Circulo f= new String( Hola ); ERROR: incompatible types Tipo estático (en compilación) Tipo dinámico (ejecución) EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 11 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 12
4 2.1 Conceptos básicos de Herencia Tipo estático: Tipo con el que se declara una variable referencia. Tipo dinámico: Tipo del objeto referenciado por la variable en un estado de la ejecución. Deben ser tipos jerárquicamente menores o igual que el tipo estático. Figura f= new Figura();//Figura f = new Circulo(); //Circulo Circulo c2= (Circulo) f; // Circulo Figura f2 = new Rectangulo();// Rectangulo Circulo c2= (Circulo) f2; AL EJECUTAR: ClassCastException 2.1. Conceptos básicos de Herencia Enlace dinámico El tipo dinámico de una expresión determina, en una jerarquía, qué operación dinámica (o de objeto) es la que se aplica al objeto. Supóngase un tipo D derivado de un tipo base B que tiene un cierto metodo, heredado por D. Sea una variable o expresión e de tipo B o compatible: El método que se aplica es el del tipo dinámico de e: B metodo( ) m Si el tipo es D, y D ha sobrescrito el método, se aplica el código sobrescrito. D metodo( ) m e.metodo( ) Si el tipo dinámico es D, y D no tiene código propio para el método (no está sobrescrito), aplica el código del tipo base. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 13 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D Conceptos básicos de Herencia. Operador booleano instanceof 2.1. Conceptos básicos de Herencia Ejemplo: Supóngase el siguiente método de la clase Figura Sintaxis: i expresion instanceof T en donde expresion debe ser un objeto, y T un tipo referencia. Devuelve true si al evaluarse expresion su tipo dinámico es compatible con T, y false en caso contrario. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 15 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 16
5 2.1. Conceptos básicos de Herencia 2.2. La clase Object Scanner tec= new Scanner(System.in).useLocale(Locale.US); Figura f= Figura.leerFigura(tec); System.out.println( El color es + f.getcolor()); System.out.println( El radio es + f.getradio()); ERROR: getradio not found (no es de Figura, es un añadido a Circulo) Circulo c= (Circulo) f; System.out.println( El radio es + c.getradio()); AL EJECUTAR: Puede dar ClassCastException if ( f instanceof Circulo) { Circulo c= (Circulo) f; // El tipo dinámico de f es //Círculo System.out.println( Su radio es + c.getradio()); Object es una clase del paquete java.lang Toda clase de Java es heredera de Object: t:eslaraízdela jeraquía de clases de Java. Sus objetos están vacíos. Tiene un conjunto de operaciones heredables por cualquier clase: public boolean equals(object o) public String tostring()... EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 17 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D La clase Object 2.2. La clase Object Ejemplo: Figura hereda todos los métodos de Object Los métodos de Object se pueden sobrescribir EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 19 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 20
6 2.2. La clase Object 2.3. Diseño de una jerarquía de clases Considérese, por ejemplo, la jerarquía de figuras. Clase base Figura: Sus datos deben ser los que tiene en común cualquier figura: tipo, color Su funcionalidad debe ser la que permita manejar cualquier figura: consultoras y modificadoras, equals, tostring. Clases derivadas, o particularizaciones de Figura (de diferentes formas), Circulo y Rectangulo: Circulo: Un Circulo ES una Figura especial, cuya dimensión viene dada por su radio. Su funcionalidad es la de Figura, más o consultora, modificadora del radio, o cálculo del área, o dibujo de la figura Rectangulo: Un Rectangulo ES una Figura especial, cuya dimensión viene dada por su base y su altura. Su funcionalidad es la de Figura, más o consultora, modificadora de la base y la altura, o cálculo del área, o dibujo de la figura EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 21 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D Diseño de una jerarquía de clases 2.3. Diseño de una jerarquía de clases Diseño de la clase base. El modificador protected. Es un modificador de visibilidad. El atributo o método protected es privado para las clases que no son de la jerarquía ni del mismo paquete. Diseño de una clase derivada. Constructoras. Dado que toda derivada tiene por defecto la constructora que usa el super() e inicia por defecto sus propios atributos, conviene, por regla general, definir explícitamente sus propios constructores. Ejemplo: Calificar a los atributos de la base como protected permite: o Mantener la privacidad de la estructuración de los datos para las clases ajenas a la jerarquía, o facilitar la implementación del código en las clases derivadas. public Figura() { this.color = Color.black; this.tipo = "indefinido"; public Figura(Color color, String tipo) { this.color = color; this.tipo = tipo; public Circulo() { super(color.black, "circulo"); this.radio = 10.0; public Circulo(Color color, double radio) { super(color, "circulo"); this.radio = radio; EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 23 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 24
7 2.3. Diseño de una jerarquía de clases 3.1. El modificador final Diseño de una clase derivada. Métodos sobrescritos. La sobrescritura puede ser total o parcial. Ejemplo: // En Figura: public String tostring(){ return "Figura de tipo: " + tipo + " y color " + color; // En Circulo: Sobr. total public String tostring(){ return "Círculo " + color + " de radio " + this.radio; // En Circulo: Sobr. parcial public String tostring(){ return super.tostring()+ ". El radio es "+ this.radio; Es un modificador de Java, que en general denota que un elemento no puede cambiar de estado: 1. Si afecta a una variable, no se puede modificar más allá de su inicialización, es decir, va a ser constante. Ejemplo: En la clase Math de java.lang, las constantes PI, E deben estar declaradas como atributos de la forma: public final static PI = ; public final static E = ; EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 25 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D El modificador final 2. Si afecta a un método de una clase B, no se puede sobrescribir en ninguna de las derivadas de B Ejemplo: Supóngase que se tuviera //En Figura: public final boolean equals(object x) { Figura f = (Figura) x; return (color.equals(f.color) && tipo.equals(f.tipo)); //En Circulo: ERROR: El método no se puede sobrescribir, es final en Figura public boolean equals(object x) { Figura f = (Figura) x; return (color.equals(f.color) && tipo.equals(f.tipo)) radio==f.radio; EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D El modificador final El modificador final no sólo es útil para prevenir una sobrescritura indeseada. También permite generar código más eficiente. Por ejemplo, supóngase que el método equals se hubiese declarado final en Figura. Entonces: Figura f1=...; Figura f2=...; boolean b= f1.equals(f2); Al compilar la última línea, Java resuelve estáticamente, en compilación, el código de la función (el enlace dinámico no se puede dar). EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 28
8 3.1. El modificador final 3. Si afecta a una clase, afecta a todas sus componentes y la clase no se puede extender. Ejemplo: //En java.lang: public final class String{... ERROR: No se puede heredar de final java.lang.string public class MiCadena extends String{ 3.2. El modificador abstract Es un modificador de métodos y clases. 1. Un método abstracto de una clase B es un método que no se implementa en B. Sintácticamente: public abstract T nombre(lista de parámetros) ; 2. Una clase B que incluya al menos un método abstracto es también una clase abstracta, de modo que: a) En la cabecera de B debe aparecer el modificador abstract. b) No se pueden construir objetos de B. Únicamente se puede usar su constructor, en los constructores de sus derivadas. c) La clases derivadas de B deben implementar los métodos abstractos de B, a menos que a su vez se hayan declarado abstractas. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 29 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 30 Ejemplo: 3.2. El modificador abstract public abstract class Figura{... public abstract double area(); En las derivadas de Figura: public class Circulo extends Figura{... public double area(){ return Math.PI*this.radio*this.radio; Si faltase esta implementación, daría el siguiente error de compilación: ERROR: Circulo no es abstracta y no sobrescribe el método abstracto area de Figura No obstante: 3.2. El modificador abstract public abstract class Figura{... public boolean equals(object x) { Figura f = (Figura) x; return (this.color.equals(f.color) && this.tipo.equals(f.tipo) && this.area()== f.area() ); public abstract double area(); 1. Eventualmente, this, f referenciarán círculos, rectángulos y/o cuadrados (dado que no es posible crear objetos de tipo Figura). 2. Por el enlace dinámico, se aplicará el área concreta que corresponda. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 31 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 32
9 3.3. Clases interface y herencia múltiple. Una interfaz I es una clase cuyos métodos son todos abstractos: Es una clase que no define la estructura de los objetos, únicamente define su funcionalidad. Sintácticamente: 1. En la cabecera de I debe aparecer interface en lugar de class. 2. Todos los métodos de I son por definición public abstract, y estos modificadores no se deben escribir en sus cabeceras. 3. Los únicos atributos que pueden aparecer en I son constantes, es decir, atributos public final static, aunque Java permite escribir estos modificadores explícitamente o darlos por implícitos. Una clase D derivada de I se dice que implementa a I. Entonces: 1. Sintácticamente se expresa : class D implements I 2. D debe sobrescribir (implementar) todos los métodos de I. 3. DdaestructuraalosobjetosdeIeimplementasusmétodossobre esa estructura Clases interface y herencia múltiple. Herencia múltiple: Es la capacidad de algunos lenguajes OO de definir clases derivadas que extienden a más de una clase base. Una clase D en Java, sólo puede extender a una base B; sin embargo, puede implementar diversas interfaces, por ejemplo: class D extends B implements I, J, K Con ello: Se minimiza los posibles conflictos de nombres entre atributos heredados de diferentes bases, al haber únicamente posible ambigüedad con las constantes. Se evita el conflictos de nombres entre métodos heredados de diferentes bases. EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 33 EDA, ITIS/ITG, ETSInf, UPV. Curso A. Casanova. Grupo 2D 34
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detalles16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz
168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante
Más detallesTest : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesPROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
Más detallesClases Abstractas e Interfaces
Clases Abstractas e Interfaces Presentación basada en: 1. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 2. Apuntes del Curso Programación Orientado a Objetos. Pablo Castells.
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesPrácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad
Más detalles- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo
- Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesIntroducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Más detallesProgramación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización
Programación orientada a objetos Resumen de Temas Unidad 6: Polimorfismo y reutilización 6.1 Concepto de Polimorfismo Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un
Más detallesPROYECTO FIGURAS DIAGRAMA DE FLUJO
FIGURAS JAVA ~ 1 ~ PROYECTO FIGURAS 1. Crear una clase Figura, abstracta 2. Añadirle los métodos vacíos a. CalcularPerimetro() public Devolver double b. Calcular() public Devolver double 3. Crear la clase
Más detallesModulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesUniversidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión
Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA Primera Sesión 1. Introducción a la programación orientada a objeto 2. Introducción al lenguaje Java 3. Primer programa en Java 4. Primer
Más detallesLa Herencia: Teoría (1)
Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesProgramación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Más detallesTema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Más detallesProgramación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en
Más detallesClases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;
Clases en Java ESCRIBIENDO CLASES rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma
Más detallesTema 3: Genericidad en Java. Tema 3: Genericidad en Java. Objetivos y Bibliografía. Modelos de Datos Genéricos
Tema 3: Genericidad en Java Tema 3: Genericidad en Java Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Definición y Ventajas de la
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detallesJava para programadores
Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Variables. Tipos
Más detallesProgramación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga
Programación orientada a objetos Resumen de Temas Unidad 4: Sobrecarga 4.1 Conversión de tipos (1) Conversiones implícitas: La conversión entre tipos primitivos se realizan de modo automático de un tipo
Más detallesIdentificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
Más detallesDefinición y Conversión de datos. Agustín J. González ELO-329
Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como
Más detallesConversión entre Tipos
Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesTema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014
Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones
Más detallesDesde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Más detallesTema 1- Conceptos de Java para Estructuras de Datos
Tema 1- Conceptos de Java para Estructuras de Datos Tema 1- Conceptos de Java para Estructuras de Datos Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
Más detallesProgramación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Más detallesJava Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Más detallesIntroducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.
Más detallesUniversidad de Cantabria corcuerp@unican.es
Herencia Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos de herencia Comprender la forma de derivar una
Más detalles1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?
1 1. Introducción 1.1. Qué es Java? 1.2. Es Java un lenguaje ideal para aprender a programar? 1.3. Es Java software libre? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar? 1.5. Qué sistema
Más detalleswww.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
Más detallesLo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.
Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de
Más detallesTema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica
Tema 1. Conceptos de Java para Estructuras de Datos: interfaces y programación genérica Duración: 3 semanas aprox. Índice General: 1. Clases y objetos en Java: el modelo TIENE UN(A) 2. El principio POO
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesINICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA
INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar
Más detalles4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Más detallesPOLIMORFISMO "una interfaz, múltiples métodos".
"una interfaz, múltiples métodos". 20/02/2007 Polimorfismo 2 Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple)
Más detallesJava: un rápido repaso
Desarrollo y ejecución de aplicaciones en Java Java: un rápido repaso public class Hola { public satic void i =1; System.out. Compilador Java Código fuente Franco Guidi Polanco Escuela de Ingeniería Industrial
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detallesConceptos más avanzados de Programación Orientada a Objetos
Conceptos más avanzados de Programación Orientada a Objetos Programación 2008 Licenciatura de Lingüística y Nuevas Tecnologías Repaso: API de Java API = Application Programming Interface Una API describe
Más detallesTema: Tipos de datos y conversiones
Tema: Tipos de datos y conversiones Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express y realice diversos programas en el entorno Consola,
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Más detallesLABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)
LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio
Más detallesConceptos de Programación Orientada a Objetos
Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación
Más detallesUnidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Más detalles2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
Más detallesHerencia e Interfaces
Herencia Introducción En C# cualquier dato es un objeto porque todos los tipos derivan implícitamente de este tipo, y heredan los métodos y campos definidos en dicha clase. Cada nuevo tipo tiene todo lo
Más detallesLABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)
LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio
Más detallesClases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase
Java: Clases y Objetos Clases La unidad fundamental de programación en Java es la clase Un programa Java está formado por un conjunto de clases Una clase es una plantilla que describe un conjunto de objetos
Más detallesIntroducción al lenguaje JAVA
Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA M.C.. José Juan Hernández ndez Mora Segunda Sesión 1. Arreglos 2. Matrices 3. Clases en Java 4. Clases de Usuario en Java 5. Objetos definidos
Más detallesclass Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }
REUTILIZACIÓN DE CLASES:MODELO DE HERENCIA EN JAVA Java soporta herencia simple pero no múltiple. Lo hace mediante el mecanismo de extensión de clase. A partir de él, una subclase se extiende (hereda)
Más detallesProgramación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Más detallesINDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)
APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
Más detalles4.1 - OBJETOS Y CLASES
4.- Elementos relacionados con la Orientación a Objeto 4.1 - OBJETOS Y CLASES Intoducción Alan Kay (Smalltalk) Todo es un objeto. Un programa es un grupo de objetos diciendose unos a otros qué deben hacer
Más detallesEstructura de las Aplicaciones Orientadas a Objetos Herencia de clases
Estructura de las Aplicaciones Orientadas a Objetos Herencia de clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Más detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y
Más detallesIntroducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época
Más detallesCONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Más detallesObjetivo de aprendizaje del tema
Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar
Más detallesJava Básico. Métodos estáticos
Java Básico Métodos estáticos Agregando métodos estáticos En un programa es deseable separar los algoritmos y asignarles un nombre. Cada algoritmo separado será llamado método. Cuando no necesitamos crear
Más detallesExperto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles. Sesión 1: Introducción al Lenguaje Java
Lenguaje Java Sesión 1: Introducción al Lenguaje Java 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a Java Conceptos de POO Elementos de un programa Java Herencia, interfaces, polimorfismo
Más detallesTema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
Más detallesForma Básica Clase Java
Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos
Más detalles15. Parámetros o argumentos
Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el
Más detallesCONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo
CONTENIDOS 1. Introducción 2. Cuándo se aplica el mecanismo de herencia 3. Un ejemplo de herencia 4. Terminología 5. Clase derivada. Creación de una clase derivada 6. Miembros que no se heredan automáticamente
Más detallesFicha de Aprendizaje N 13
Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que
Más detallesPráctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.
Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores
Más detallesPARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)
APRENDERAPROGRAMAR.COM PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
Más detallesStringBuffer, Math y Wrapper
Clases System, String, StringBuffer, Math y Wrapper FJP Unidad 6 Clase System Ubicación: java.lang.system Funcionalidad principal: acceder a los dispositivos del sistema operativo de bajo nivel entrada
Más detallesMetodología y Tecnología de la Programación
Metodología y Tecnología de la Programación Curso 2008/09 Tema 7 Tipos de Datos Abstractos Temario 7.1 Concepto de Tipo de Datos Abstracto 7.2 Clasificación de Tipos de Datos Abstractos 7.3 Especificación
Más detallesPráctica 4: Herencia. Objetivos:
Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.
Más detallesGUÍA DE ESTILO EN JAVA
GUÍA DE ESTILO EN JAVA Formato de líneas 1. No usar más de 80 caracteres por línea (imagen de tarjeta). De esta forma se pueden visualizar las líneas completas con un editor de texto o en una hoja impresa
Más detallesDescripción y Contenido del Curso. Programación C++ Capacity Academy.
Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo
Más detallesPOO en Java IV: Herencia (Parte 1)
Herencia POO en Java IV: Herencia (Parte 1) Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Es la derivación de una clase a partir de otra existente.
Más detallesOrientación a Objetos en Java
Orientación a Objetos en Java I. Programación Basada en objetos II. Programación orientada a objetos M. Carmen Fernández Panadero Raquel M. Crespo García Contenidos Polimorfismo
Más detallesExpresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Más detallesJava en 2 horas. Rodrigo Santamaría
+ Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión
Más detallesTema 3: Herencia en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle
Tema 3: Herencia en Java Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Índice Introducción Herencia y creación Herencia y Ocultamiento de la Información Redefinición de características
Más detalles5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
Más detallesPatrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
Más detallesClase adicional 2. Estructuras básicas de control. Temas
Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño
Más detalles2. Estructura de un programa en Java
24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador
Más detallesJAVA -INTRODUCCIÓN AL LENGUAJE
JAVA -INTRODUCCIÓN AL LENGUAJE Temario 1 -Introducción al lenguaje Java 2 - Introducción a Eclipse 3 - Clases e Inicialización 4 Colecciones 5 - Creando nuestras clases de Java 6- Clases, Métodos y Variables
Más detallesPrograma Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores
El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase
Más detallesTema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08
Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesJava Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
Más detallesC.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
Más detalles