Java: Clases Abstractas e Interfaces
|
|
|
- Esteban Pérez Toledo
- hace 8 años
- Vistas:
Transcripción
1 Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected]
2 Clases abstractas e interfaces v A nivel conceptual, las clases abstractas e interfaces permiten definir qué puede hacer un conjunto o familia de clases relacionadas. v Ejemplo en el contexto de la universidad: Persona Las personas (esto es, alumnos, profesores y administrativos ) conocen y retornan su RUT, nombre, teléfono y dirección Alumno Profesor Administrativo 2
3 Clases Abstractas Pablo Picasso, Toro (11) v Una subclase de una clase abstracta puede ser instanciada (es decir, puede ser no abstracta ) sólo si provee implementación para todos los métodos abstractos de la superclase. En caso contrario, debe también ser declarada abstracta. v Una clase es declarada abstracta cuando no es posible crear instancias de ella. v Una clase debe ser declarada abstracta si posee al menos un método declarado abstracto. v Un método abstracto es aquél que no provee implementación. 3
4 Ejemplo de Clase Abstracta public abstract class Poligono { int lados; public int setlados(int l){ lados = l; public abstract double getarea();... Clase abstracta Polígono public class Cuadrado extends Poligono { int longitud; public double getarea(){ return longitud*longitud;... Clase concreta que extiende la clase abstracta. 4
5 Interfaces v En ocasiones, en vez de implementar herencia, es posible implementar interfaces. v Una interfaz define un tipo de dato. Esta definición especifica el identificador de un tipo y declara los métodos que el tipo provee (sin implementación). v Las interfaces son frecuentemente descritas como contratos: una interfaz garantiza que una clase proveerá cierta funcionalidad, pero sin especificar cómo esta funcionalidad será implementada. v La implementación de interfaces se conoce también como herencia por contrato o herencia de interfaces. En estos casos sólo se hereda la interfaz, no hay herencia de funcionalidad. 5
6 Interfaces en Java v Contenido de una interfaz: Nombre y visibilidad Eventuales otras interfaces extendidas Declaraciones de métodos Constantes (declaradas como static final) v Una interfaz no provee: Variables de instancia o de clase Implementación para los métodos v Útiles cuando una clase debe usar objetos de distintas clases, pero que operan de la misma forma (ej. un temporizador para videograbador, radio, etc.) 6
7 Analogía Destornillador Clase que debe usar ciertos objetos Modelos de cabezas De tornillos Interfaces Tornillos Clases que implementan alguna de las interfaces 7
8 Ejemplo de Interfaz public interface Despertable { public static final int DORMIDO = 1; public static final int DESPIERTO = 2; public void despierta(); La interfaz Despertable public class Persona implements Despertable{ int estado = DESPIERTO; public void dormir() { estado = Despertable.DORMIDO; public void despierta(){ estado = DESPIERTO;... Una clase que implementa la interfaz Despertable 8
9 Ejemplo de Interfaz (cont.) public class Alarma {... public static void despertar(despertable d){ d.despierta(); public class Ejemplo { public static void main(string[] arg){ Persona p1 = new Persona(); Alarma.despertar(p1); Despertable p2 = new Persona(); Alarma.despertar(p2); La Alarma es capaz de despertar cualquier objeto que implemente la interfaz Despertable. 9
10 Uso de Interfaces v Una clase puede implementar múltiples interfaces: public class Anfibio implements Terrestre, Acuático {... v Una interfaz puede extender otras interfaces. public interface Anfibio extends Terrestre, Acuático {... v Algunos enuncian que el uso de interfaces representa una forma de enfrentar el problema de la herencia múltiple en Java. 10
11 Interfaces y excepciones v Las excepiones declaradas en los métodos de una interfaz (cláusula throws) también deben ser declaradas en los métodos de las clases que implementan la interfaz. 11
12 Interfaces y clases abstractas: aspectos comunes v Tanto clases abstractas como interfaces necesitan implementación en otras clases, para sus propiedades abstractas: Clases abstractas: requieren subclase(s). Interfaces: requieren clase(s) que implemente(n) la interfaz. 12
13 Ejemplo v El Aerosub ( Viaje al fondo del mar ) public interface Aéreo { public void despegar(); public void acuatizar(); public interface Acuático { public void emerger(); public void sumergirse(); public class Aerosub implements Aéreo, Acuático{ public void despegar(){ public void acuatizar(){ public void emerger(){ public void sumergirse(){ 13
14 Ejemplo (cont.) v Clase que accede a las funciones del Aerosub: public class Comandante { public Aerosub vehículo; public Comandante(Aerosub v){ vehículo = v; public void comandar(){ vehículo.emerger(); vehículo.despegar(); vehículo.acuatizar(); vehículo.sumergirse(); 14
15 Ejemplo (cont.) v Clases que acceden al Aerosub con funcionalidades limitadas: public class Aviador { public Aéreo vehículo; public Aviador(Aéreo v){ vehículo = v; public void pilotear(){ vehículo.despegar(); vehículo.acuatizar(); public class Marino { public Acuático vehículo; public Marino(Acuático v){ vehículo = v; public void navegar(){ vehículo.sumergirse(); vehículo.emerger(); 15
16 Atención en el uso de la herencia e implementación de Interfaces v Deben considerarse relaciones con valor semántico en el dominio del problema. Ejemplos como este pueden no tener sentido: public class ReyDeLaSelva implements Elefante, Pistola A menos que 16
17 Ejercicio 1 v Una empresa desarrolladora de software de monitoreo debe crear aplicaciones capaces de obtener datos desde distintos tipos de sensores (de contaminación por partículas, ruido, voltaje, etc.) y mostrar dichos valores por pantalla. Cada aplicación se desarrolla para trabajar con un tipo de sensor. Los sensores son manejados por clases específicas (e.g. TemperatureSensor, DustSensor, etc.) y proveen tres métodos: (1) un método para activarlo; (2) un método que retorna un double correspondiente al valor percibido por el sensor en el momento; y (3) un método para desactivarlo. Los siguientes son ejemplos de aplicaciones desarrolladas por esta empresa: Para manejar un sensor de Temperatura public class Muestra { public static void main( String[] arg ){ TempSensor t = new TempSensor(); t.activa(); for(int i=0; i<10000; i++ ) System.out.println( t.leetemp() ); t.desactiva(); 17
18 Ejercicio 1 (cont.) Para manejar un sensor de polvo ambiental public class Muestra { public static void main( String[] arg ){ DustSensor t = new DustSensor(); t.on(); for(int i=0; i<10000; i++ ) System.out.println( t.readmeasure() ); t.off(); A pesar de lo similar de las aplicaciones, en cada ocasión es necesario reescribir no sólo la clase de sensor que se utilizará, sino también las invocaciones correspondientes a sus métodos específicos, lo cual hace el desarrollo ineficiente. Se pide determinar una arquitectura que permita a la empresa simplificar su trabajo de desarrollo. 18
19 Ejercicio 2 v Diseñe y programe las clases e interfaces que permiten resolver el siguiente problema: Se desea construir una clase que permita mantener una colección de objetos ordenados ascendentemente. Los objetos a ordenar pueden ser de cualquier clase. Los objetos deberán implementar un método que permita determinar si un objeto es mayor que otro. 19
20 Situación 1: La necesidad de clases abstractas e interfaces v Contexto: se está desarrollando una aplicación que trabaja con CD s, DVD s y discos de vinilo. v Problema: se establece que a pesar de tener sus propios atributos, todos ellos disponen de código, sello discográfico y autor. Se desea evitar duplicidad de código. v Decisión: se determina la conveniencia de crear la clase ProductoMusical, que agrupa las propiedades comunes de los tres tipos de productos. La clase ProductoMusical no es instanciable, por lo tanto se lo declara abstracto. CD ProductoMusical {abstract código sello autor DVD Vinilo La superclase aparece por factorización de propiedades comunes 20
21 Situación 2: La necesidad de clases abstractas e interfaces (cont.) La superclase o interfaz es impuesta a las subclases. v Contexto: se está desarrollando una clase Timer para programar distintos objetos temporizables (ej. relojes, grabadoras, alarmas, etc.) Timer v Problema: Los objetos temporizables pueden ser distintos, y al momento de desarrollar el Timer no se sabe exactamente de qué clase son. Temporizable {abstract v Decisión: se define una interfaz (o una clase abstracta, si hay código en común) que implementarán todos los objetos temporizables. El Timer accede a los objetos temporizables a través de esta interfaz. Reloj Grabadora 21
22 Discusión v Tanto clases abstractas como interfaces permiten describir propiedades comunes de familias de clases. Cuándo conviene utilizar unas u otras? 22
23 Caso de estudio: Mars Climate Orbiter v Mars Climate Orbiter (MCO) v Vehículo espacial de la NASA, enviado a Marte para recolectar información v Se perdió el 23 de septiembre de 1999 durante la maniobra de inserción en la órbita de Marte. v Se sospecha que se estrelló en Marte o que ingresó a una trayectoria heliocéntrica. 23
24 Caso de estudio: Mars Climate Orbiter v Varias irregularidades en la trayectoria se detectaron durante la navegación de 9 meses desde la Tierra hacia Marte. v Durante el inicio del proceso de inserción en la órbita de Marte se observó que el MCO se encontraba 170 km bajo lo planeado v El ingreso a la zona de ocultamiento en la órbita de Marte ocurrió 49 segundos antes de lo previsto. No se reestableció comunicación tras los 21 minutos predichos como duración el ocultamiento. v El 25 de septiembre de 1999 cesaron los intentos por reestablecer comunicación con la nave. v El 29 de septiembre se descubrió que las variables denominadas small forces, utilizadas en los modelos de cálculo de la órbita de los sistemas de tierra, tenían un valor 4,45 veces más pequeño de lo debido. 24
25 Caso de estudio: Mars Climate Orbiter v Los valores eran más pequeños porque, de acuerdo con lo indicado en las especificaciones de la interfaz de software, el sistema de navegación en tierra consideraba datos de entrada expresados en Newton-seg (sistema Métrico), en cambio éstos eran equivocadamente proporcionados por otro módulo de software en libras_fuerza-seg (sistema Inglés). v Notar que: 1 libra fuerza = 4,45 Newton Gráfico: Mars Climate Orbiter Mishap Investigation Board. November 10, 1999, NASA. 25
26 Caso de estudio: Mars Climate Orbiter v Causas: Inadecuada visión sistémica sobre la completa misión. Falta de una adecuada comunicación entre equipos de desarrollo. Falta de una acuciosa verificación del software de navegación, y de los modelos computacionales relacionados. 26
Java: Clases Abstractas e Interfaces
Clases abstractas e interfaces Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] A nivel conceptual,
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
o Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 2
Arreglos en Java o Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 3 27 50 4 Arreglo de bytes Arreglos con tipos primitivos hola Casa Auto No Arreglo de Strings EII147-01-02
POO 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 [email protected] Es la derivación de una clase a partir de otra existente.
CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B)
APRENDERAPROGRAMAR.COM CONCEPTO DE INTERFACE Y HERENCIA MÚLTIPLE EN JAVA. IMPLEMENTS. EJEMPLOS Y DIAGRAMAS DE CLASES. (CU00696B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha
18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.
Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo
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!
Recursividad. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
Recursividad Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Recursividad v Es la técnica de definir un proceso en términos de si
Herencia y Polimorfismo
Herencia y Polimorfismo Dra. Maricela Bravo Universidad Autónoma Metropolitana Unidad Azcapotzalco 1 Herencia en el mundo real Cosa Medio de telecomunicación Medio de transporte Coche Vehiculo aéreo Objeto
o Una clase es un tipo al cual pertenecen objetos o instancias de la clase.
o Una clase es un tipo al cual pertenecen objetos o instancias de la clase. Introducción a la Programación Orientada a Objetos EII147-01-02 Introducción a las tecnologías de información Clase Persona:
Relaciones entre clases
Relaciones entre clases 1 Humberto Cervantes Maceda Alfonso Martínez Martínez Abril 2005 Relaciones entre clases Dependencia Generalización Asociación Realización 2 Relaciones entre clases Dependencia:
class 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)
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
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
Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal
INTERFACE interface IAnimal { static final int valor=5; // Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal public void comunicarse(); abstract class Animal
Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática
Polimorfismo 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 Introducción. Conversión
Tema 10: Interfaces. Índice
Tema 10: Interfaces Antonio J. Sierra Índice 1. Definición de una interfaz. 2. Implementación y uso de una interfaz. 3. Extensión de las interfaces. 4. Modelado UML de las interfaces. 5. Casos de uso.
Introducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
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
Guía práctica de estudio 08: Polimorfismo
Guía práctica de estudio 08: Polimorfismo 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 08: Polimorfismo
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
Bases de Datos: Introducción
Bases de Datos: Introducción Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Sistemas de Información/Sistemas Informáticos v En
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
Clases Abstractas e Interfaces
Clases Abstractas e Interfaces Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Aprender a crear y utilizar clases y métodos abstractos
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
PARA 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
Java 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
Arquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia
Tema 5.- Herencia 1. Herencia múltiple en C++: ambigüedad de nombres...2 2. Herencia en SMALLTALK...4 2.1. Determinación de los métodos a ejecutar: self y super...4 2.2. Herencia de métodos y variables
Taller de Programación I. Tema 10: Herencia en Java
INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 10: Herencia en Java Ing. Manuel López Ramos (versión 1) Parte I Qué es la herencia entre clases?
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
Java Básico. Polimorfismo. Copyright
Java Básico Polimorfismo Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano v1.0 o posterior.
Diagramas de clases de UML
Diagramas de clases de UML Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Qué es UML? v UML ( Unified Modeling Language ) es un
Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas
Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas [email protected] Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable
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
1. Qué tipos de relación hay entre las siguientes clases?
Ejercicios Tema 8: Herencia 1. Qué tipos de relación hay entre las siguientes clases? Personal de la Universidad PAS Profesor 1 n Estudiante a) herencia y asociación b) herencia y dependencia c) dependencia
Estructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas
Por ejemplo, considerando la jerarquía de herencia de Figuras Geométricas de la siguiente figura, es posible hacer uso del concepto de polimorfismo.
POLIMORFISMO El polimorfismo es la característica de la programación orientada a objetos que permite modificar la instancia de un objeto en tiempo de ejecución basado en una jerarquía de herencia. De esta
Java: control de excepciones
Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Introducción v Una excepción es un evento que ocurre
Excepciones. Excepciones
Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase
Tema: Funciones Virtuales y Polimorfismo.
POO104. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Tema: Funciones Virtuales y Polimorfismo. Materiales y Equipo Computadora con el software C
EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)
APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual [email protected]! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
Ejercicios de Lenguaje Java y Entorno de Desarrollo
Ejercicios de Lenguaje Java y Entorno de Desarrollo Índice 1 Proyecto básico en Eclipse...2 2 Cálculo del factorial...3 3 Ecuación de segundo grado (*)...3 4 Clases abstractas y herencia...4 5 Esquema
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.
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.
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
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
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
Concurso: Cuánto sabes de JAVA?
Concurso: Cuánto sabes de JAVA? Motivación: o Para cambiar el ritmo de las jornadas y que no todas las actividades sean charlas o Recordar conocimientos y aprender algo nuevo. o Las preguntas pueden ayudarnos
Tema: Funciones Virtuales y Polimorfismo.
Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.
Tema: Funciones Virtuales y Polimorfismo.
Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar
Modelado Estructural F E B R E R O,
Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar
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,
Objetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.
Universidad Nacional Autónoma de México Facultad de Ingeniería PRACTICA 10 PROGRAMACIÓN ORIENTADA A OBJETOS (MANEJO DE EXCEPCIONES) Objetivos El alumno empleará el concepto de excepción en la programación
Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto !
Programación Orientada a Objetos con Java Rafael Rivera López Elementos Básicos del Lenguaje Java II Ingeniería en Sistemas Computacionales Agosto-Diciembre de 2004 Veracruz, Ver. Relación entre clases
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
Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Intefaces gráficas. Eventos. Jose Jesus García Rueda
Intefaces gráficas. Eventos Jose Jesus García Rueda Planteamiento de objetivos Ser capaces de añadirle funcionalidad a los elementos gráficos de la interfaz modificándolos también como resultado de las
ALGORITMICA Y PROGRAMACION POR OBJETOS I
ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis
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
HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
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
Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. [email protected] DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Programación II JAVA Dr. Mario Rossainz López
II JAVA II1 INTRODUCCIÓN: JAVA es un lenguaje de programación orientado a objetos que comenzó como resultado de la búsqueda de un lenguaje para programar dispositivos empotrados JAVA se define como un
Modulo 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.
Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos
Unidad Didáctica 1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
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
Introducción al Paradigma Orientado a Objetos
Introducción al Paradigma Orientado a Objetos 1 Objetos Qué es un objeto? Un objeto es un componente de software que contiene variables y métodos y que es usado para modelar algún aspecto de la vida real.
PROYECTO 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
12/08/2017. Diagrama de clases y objetos. Modelo de clases y objetos. Diagrama de clases y objetos. Diagrama de clases y objetos
Modelo de clases y objetos ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso El Diagrama de Clases es el diagrama principal para
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
EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas
Apellidos Nombre Firma NIA Grupo EXAMEN PROGRAMACIÓN 21 de Septiembre de 2007 INGENIERÍA INFORMÁTICA Primera parte: Cuestiones 1,5 horas Pregunta 1 (0,5 puntos).- Indicar si las siguientes afirmaciones
12. Tipos de atributos
Programación orientada a objetos con Java 135 12. Tipos de atributos Objetivos: a) Profundizar en el concepto de atributo de una clase e indicar los tipos de atributos en Java b) Interpretar el código
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Edwin Andrés Cubillos Vega
PROGRAMACION ORIENTADA A OBJETOS Edwin Andrés Cubillos Vega Company LOGO Contenido Introducción Clases y Objetos Herencia Constructores y Destructores Polimorfismo Contenido Introducción Clases y Objetos
Examen de Prácticas de Programación Ingeniería Informática
Examen de Prácticas de Programación Ingeniería Informática Junio 2007 1) (2 puntos) Escribir en Java la implementación de los métodos public void escribematrizenfichero(double[][] m, String nomfich)...
Ejecución de hebras. En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura).
Ejecución de hebras En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura). Hebras vs. Procesos Los cambios de contexto son más costosos en
Tema: Herencia en C#.
Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir
RMI. Aplicaciones Distribuidas
RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo
PROGRAMACION 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
POLIMORFISMO "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)
Soluciones Ejercicios Tema 3
1 Soluciones Ejercicios Tema 3 Germán Moltó [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio
Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java
Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: [email protected] / [email protected] Web: http://estructuradatos.tripod.com 1 Qué
Soluciones Ejercicios Tema 1
BonoMetro (I) 1 Soluciones Ejercicios Tema 1 Germán Moltó Martínez [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia
PROGRAMACIÓN EN JAVA
SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 2: Jerarquía de clases en Java Objetivos Implementar una jerarquía de clases para crear una aplicación en Java Comprender
INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
