RTTI y reflexión Modelos de datos
|
|
|
- Francisco Cruz Espejo
- hace 7 años
- Vistas:
Transcripción
1 RTTI y reflexión Modelos de datos Carlos Fontela [email protected]
2 Temario RTTI (información de tipos en tiempo de ejecución) Reflexión Modelo de datos y memoria de Java Otros modelos 1c2010 2
3 Transformaciones de tipos Transformación automática Elipse e = new Elipse(); Figura f = e; Transformación explícita Elipse e2 = (Elipse)f; // f.setradiomayor(3); f es una Elipse, pero... (Elipse)f.setRadioMayor(3); Se hace chequeo Todo objeto conoce su tipo! El tipo del objeto nunca cambia! Cómo es esto? => RTTI 1c2010 3
4 RTTI (1) Hay una clase Class y está Object Cuando se crea un objeto, se guarda en un atributo de Object una referencia a un objeto Class El objeto Class se crea al compilar la clase 1c2010 4
5 RTTI (2) Versión no polimorfa: if (f.getclass( ) == Elipse.class) return ((Elipse) f).getcentro( ); if (f.getclass( ) == Class.forName("Elipse")) return ((Elipse) f).getcentro( ); Versión polimorfa: C# if (x instanceof Elipse) return ((Elipse) f).getcentro( ); No polimorfo: GetType() Polimorfo: operador is 1c2010 5
6 Reflexión (1) Cosas raras (faltan excepciones): public void metodoraro (Object o1) throws Exception { Class claseancestro = o1.getsuperclass(); Object o2 = claseancestro.newinstance(); Method m = o2.getclass().getconstructors()[0]; m.invoke(); } 1c2010 6
7 Reflexión (2) RTTI: el compilador debe conocer los tipos Qué pasa si recibo un objeto por una red? Puedo obtener el objeto Class y preguntar por métodos, atributos, interfaces, etc. Paquete java.lang.reflect La información debe estar en tiempo de ejecución En general se maneja en forma automática Interrogación a componentes para saber qué eventos soporta 1c2010 7
8 Reflexión (3) Clases Method, Constructor, Field Métodos getmethods(), getconstructors(), getfields(), getinterfaces(), getsuperclass() newinstance() En clase Field: get() y set() En clase Method: invoke() Mucho más 1c2010 8
9 Un uso de reflexión: creación de objetos Fraccion f = new Fraccion(); La clase está especificada en el código y se conoce en tiempo de compilación Qué pasaría si hiciésemos?: Serializable f = x.crearobjeto(); // Serializable es una interfaz El método podría ser: public Serializable crearobjeto ( ) { String nombreclase = leerarchivoconfiguracion(); Class claseinstanciar = Class.forName(nombreClase); Object nuevo = claseinstanciar.newinstance(); return (Serializable) nuevo; } Ahora la clase se conoce recién en tiempo de ejecución 1c2010 9
10 Reflexión: ya la usamos? Framework JUnit Cómo funciona? Usa polimorfismo Métodos setup() y teardown() Y reflexión Métodos public void testxxx() Algo bastante común en todos los frameworks 1c
11 Encajonamiento Autoboxing Java (la traducción es mía) int x = 4; Integer i = x; // equivale a Integer i = new Integer(x); int y = (int) i; // equivale a int y = i.intvalue( ); Collection le = new ArrayList( ); le.add(5); 1c
12 Otros lenguajes C# C++ Misma funcionalidad que en Java Encajonamiento con mejor desempeño Los arreglos primitivos son todos subclases de System.Array Todos los tipos por valor heredan de System.ValueType Poca información de tipos y sin reflexión Distintas formas de transformaciones de tipos: muy complejo No hay encajonamiento ni todos los tipos son clases 1c
13 Malos usos: ojo con RTTI Compromete la extensibilidad public Punto algunaposicion ( ) { if (this instanceof Elipse) return ((Elipse) this).getcentro( ); if (this instanceof Poligono) return ((Poligono) this).getcontorno( )[0]; throw new IllegalArgumentException( ); } Evita el polimorfismo if (x instanceof Elipse) ((Elipse)x).dibujar( ); Muy contrario a POO en general 1c
14 Malos usos: ojo con reflexión Podemos terminar generando cualquier cosa Síndrome del elefante alado Difícil de testear Difícil de leer No cualquiera la usa bien 1c
15 Modelo de memoria de Java Referencias Ojo con comparaciones == y equals() Ojo con asignaciones = y clone() Recolección de basura Ojo con acciones finales finalize(), System.runFinalization() y System.gc() 1c
16 Igualdad e identidad if (a == b) if a.equals(b) // compara referencias // compara contenido equals: Está definido en Object Está implementado en colecciones No hace comparaciones profundas 1c
17 Asignación simple Object a = b; // asigna referencias Object o, b; o.m(b); // b pasa como referencia int x = y;// asigna valores int y; Object o; o.m(y); // y pasa como valor 1c
18 Clonación a = b.clone(); En Object está definido: protected Object clone() throws CloneNotSupportedException { // hace una copia de bits... } Hay que redefinir clone como público y que llame a super.clone() Si quiero una copia profunda, implementarla Ver ejemplo en libros Hay que implementar Cloneable Si no, obtenemos CloneNotSupportedException 1c
19 Recolección de basura No determinística Asegura que No me voy a quedar sin memoria mientras haya objetos sin referenciar No se va a liberar ningún objeto que esté siendo referenciado desde un objeto referenciado Extremadamente cómoda Y evita errores muy difíciles de encontrar y reparar 1c
20 Finalización: finalize() No es un destructor Se ejecuta cuando pasa el recolector de basura No sabemos cuándo Puede que nunca No sabemos nada del orden, como para llamar un finalize() desde otro finalize() Solución a medias para liberar recursos 1c
21 Liberación forzada System.gc(); JVM hace su mejor esfuerzo por recolectar todo. Lleva mucho tiempo. Puede usarse antes de crear una gran estructura. System.runFinalization(); JVM hace su mejor esfuerzo por finalizar todo, sin recolectar. Iguales consideraciones. 1c
22 C# (1) El modelo es de referencias para clases y otros tipos Con recolección automática de basura Hay destructores, pero es otro nombre para un finalizador Hay métodos Clone y Equals Pero también sobrecarga de == y!= 1c
23 C# (2) Hay tipos de datos estáticos structs, enums, etc. Se manejan como en C++ Pueden implementar interfaces Pero no tienen herencia Hay aritmética de punteros unsafe, fixed, y otras restricciones 1c
24 Object Pascal El modelo es de referencias Pero hay clases por valor No hay recolección automática de basura Se deben crear destructores En general son virtuales y se los llama desde un método Free destructor Destroy; virtual; Hay aritmética de punteros Por herencia de Borland Pascal 1c
25 C++ El modelo es estático Pero hay punteros Existen los destructores No necesariamente para liberar memoria Hay aritmética de punteros 1c
26 Smalltalk El modelo es de referencias Hay recolección automática de basura Es un lenguaje de tipos dinámicos Polimorfismo automático No hay aritmética de punteros Interpretado 1c
27 Claves Todo objeto conoce su tipo, y es permanente: RTTI Se le puede preguntar de todo a un objeto: reflexión Usar RTTI y reflexión con medida La clonación y equals() solucionan problemas de usar referencias finalize(), gc() y runfinalization() proveen sucedáneos a medias de los destructores 1c
28 Lecturas opcionales Thinking in Java, Bruce Eckel Capítulo 4, Initialization & Cleanup Capítulo 12, Run-time Type Identification Apéndice A, Passing & Returning Objects Está en biblioteca Hay versión castellana Orientación a objetos, diseño y programación, Carlos Fontela 2008 Capítulo 20 Los datos, los tipos y la memoria 1c
29 Qué sigue 1c
A3F. Polimorfismo. Carlos Fontela
Polimorfismo Carlos Fontela [email protected] Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2 cb := CuentaBancaria new. cc := CuentaCorriente
Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia
Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona
POO en lenguajes compilados de tipos estáticos (Java y C#)
POO en lenguajes compilados de tipos estáticos (Java y C#) Carlos Fontela [email protected] Temario Modelo de referencias, creación y destrucción de objetos (introducción) Paquetes y grupos de clases
PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores
Programación Orientada a Objetos Resumen de Temas Unidad 3: Constructores y destructores 3.1 Conceptos de métodos constructor y destructor Java inicializa siempre con valores por defecto las variables
Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.
Examen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Interfaces. Clase Object. Autoboxing. Copia de objetos. Igualdad
Examen Teórico. Convocatoria de Febrero de 2015
Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con
A3F. Objetos (uso) Carlos Fontela
Objetos (uso) Carlos Fontela [email protected] Temario Objetos y mensajes Objetos y clases Estado, comportamiento, identidad Historia hacia la POO POO vs. procedural 2c2009 2 Operando sobre objetos (Smalltalk)
Programación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Herencia! Superclase/subclase! super! Modificador protected! Redefinicion de métodos!
Programación orientada a objetos I
Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual [email protected] Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar
Construcciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O
Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos
PROGRAMACIÓN EN JAVA
1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación
Reutilización con Delegación y Herencia
Reutilización con Delegación y Herencia Carlos Fontela [email protected] Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo [email protected] Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Java en 2 horas. Rodrigo Santamaría
Java en 2 horas Rodrigo Santamaría Generalidades 2 Desarrollado por Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión interna de
Diseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
Clases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra [email protected] Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA
Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA Modalidad de realización del curso: Titulación: Online Diploma acreditativo con las horas del curso OBJETIVOS CONTENIDOS UNIDAD DIDÁCTICA 1. INTRODUCCIÓN A
PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases
INDICE Prologo XIII 1 Recorrido rápido de java 1.1. Para empezar 1 1.2. Variables 2 1.3. Comentarios en el condigo 1.4. Constantes con nombre 5 1.4.1. Caracteres Unicode 6 1.5. Flujo de control 7 1.6.
Definición. Mónica E. García García Feb 07
Tema 11: Herencia 0 Definición Cuando inicialmente se modelan dos cosas y se tienen datos duplicados y además pudiera darse que el número de métodos también es similar así como la implementación, se requiere
Herencia y Clases Abstractas
Herencia y Clases Abstractas Reutilización de código y código genérico ELO329: Diseño y Programación Orientados a Objetos Introducción La idea básica es poder crear clases basadas en clases ya existentes.
Interfaces y Clases Internas
Interfaces y Clases Internas (No es interfaz gráfica, sirve como alternativa a herencia múltiple) ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas?
Programación Orientada a Objetos
Unidad III Programación Orientada a Objetos en Java Programación Orientada a Objetos Programación I - 0416202 Contenido Esta lección abarca los siguientes temas con respecto a Java: Qué es Java? Breve
POO: Clases y objetos
POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,
Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos
Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos 1 Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente,
Manejo de Clases y Objetos. Manejo de Clases y Objetos
Cod. 1728.61 PLATAFORMA.NET Y SERVICIOS WEB nestor@lsi lsi.uniovi.es Dpto. de Informática - Laboratorio de Tecnologías de Orientación a Objetos http://www www.ootlab.uniovi.es CONCEPTOS BÁSICOS Objeto:
Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Herencia Java y Servicios Web I Master en Ingeniería Matemática
Herencia Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Extensión mediante herencia.
2.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
C.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,
Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada
Tema 5 Herencia Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada Qué es la Herencia? Propiedad de que las instancias de una clase hija tengan acceso a la estructura de datos* y
Tema 2: Programación basada en Objetos
Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos
Agradecimientos. 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
Tema 1. Herencia y Polimorfismo
Í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
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia
Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
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
Estructuras de Datos Clase 1 - Introducción
Estructuras de Datos Clase 1 - Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
INDICE 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:
La sintaxis básica para definir una clase es la que a continuación se muestra:
DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría
Introducció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
Guía práctica de estudio 07: Herencia
Guía práctica de estudio 07: Herencia Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 07: Herencia Objetivo:
Oracle Certified Associate, Java SE 8 Programmer
J A V A S E 8 Información del examen: Número de examen: 1Z0-808. Certificación Asociada: Oracle Certified Associate, Java SE 8 Programmer I Versión del producto: Java SE 8 Duración: 150 minutes Número
Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
C++ me gusta++ Dr. Arno Formella. formella Universidad de Vigo Departamento de Informática E Ourense
C++ me gusta++ Dr. Arno Formella http://www.ei.uvigo.es/ formella Universidad de Vigo Departamento de Informática E-32004 Ourense 21 de febrero de 2003 1 Índice 1. Clases 3 2. Punteros y referencias 3
JAVA 1. Introducción
Diseño de Interfaces de Usuario JAVA. Introducción. Características Portabilidad Interpretado (bytecodes) Uso de Máquina Virtual Java (JVM) Orientado a Objetos Jerarquía de clases Extensible (packages)
La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con
Fases de POO (Análisis y Diseño). Un ejemplo de Análisis y Diseño. Repaso de conceptos de Abstracción y ejemplos. Repaso y definición de Clases, estructura de una clase en Java. Declaración de atributos
INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Curso Programación Java JSE 7
Curso Programación Java JSE 7 Descripción: Nuestro curso Programación Java JSE 7 ofrece el curso de este nivel más completo, sin duda, en donde aprenderás la versión actual de Java, JSE 7, desde cero.
Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros
Conceptos Generales 3.4 Clases y Objetos Clases, miembros, constructores, control de acceso Las clases contienen los métodos que definen la computación Los campos (fields) o variables miembros definen
POO en Java. Relaciones de composición y Herencia. Composición: clase Círculo. Composición. Herencia: La palabra reservada extends
Relaciones de composición y Herencia POO en Java Características: Composición tiene un Herencia es un Polimorfismo. Abstracción. Clases y objetos. Java Arrays y Cadenas 1 Java Arrays y Cadenas 2 Composición
Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 1 Programación Orientada a Objetos Contenido Introducción. Definición y tipos. Constructores. Redefinición. Polimorfismo. Herencia y sistema de tipos. Ligadura dinámica. Casting
Conceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Tipo de Datos Abstractos y Programación Orientada a Objetos
Tipo de Datos Abstractos y Programación Orientada a Objetos DISEÑO Y PARADIGMAS DE LENGUAJES ING. EN INFORMÁTICA/ING. EN COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA UNIVERSIDAD NACIONAL DE SAN LUIS ARGENTINA
Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña
Presentación Programación Orientada a Objetos :: Prof. Yeniffer Peña Utiliza las excepciones java. Una excepción es una condición anormal que se produce en una porción de código durante su ejecución. Es
Fundamentos de Programación
Fundamentos de Programación Extensión de clases: herencia y polimorfismo 13.12.2010 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ extensión
PRÁCTICA 4: DISEÑO DE TIPOS Versión: 1.0.1
FUNDAMENTOS DE PROGRAMACIÓN Curso: 2010/11 PRÁCTICA 4: DISEÑO DE TIPOS Versión: 1.0.1 SOLUCIONES Ejercicios 1, 2 y 3 Definición de interfaces Tipo Punto public interface Punto extends Copiable,
Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Herencia. Polimorfismo y ligadura. Clase object. Casting. Compatibilidad de tipos. Clases abstractas.
- 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
