PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez"

Transcripción

1 PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

2 Encapsulamiento: Control de Acceso

3 Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes Por ejemplo, las clases del paquete java.lang son importadas automáticamente a cada archivo de java Para importar clases de un paquete en java se usa la palabra reservada import import java.util.*; Se coloca antes de la declaración de la clase import java.util.*; class Grupo { }..

4 Clases en Java (2) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Para definir un paquete se usa la palabra reservada package package curso.poo; Se coloca antes de la declaración de la clase y antes de cualquier import package curso.poo; import java.util.*; class Grupo { }..

5 Clases en Java (3) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En el sistema de archivos están dentro de un archivo JAR u organizados en una jerarquía de directorios C:/curso/poo/> C:\ curso poo Grupo.class Conjunto.class El archivo rt.jar contiene las clases principales de java

6 Encapsulamiento UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Metodología para ocultar ciertos elementos de la implementación de una clase proporcionando una interfaz pública al cliente (usuario) del software (clase) Generar cápsulas seguras Importante para otros programadores Usan clases nuevas desarrolladas por otros Proteger datos dentro de la clase (no sean modificados inapropiadamente)

7 Encapsulamiento (2) Hay una sola interfaz pública segura para acceder al contenido privado del siguiente objeto Encapsulamiento

8 Encapsulamiento (3) Los atributos de la clase son elementos significativos de la implementación de la clase Para asegurarse que la clase está correctamente encapsulada: Aplicar los modificadores de visibilidad a Clases Variables atributo Métodos declarados Todas las clases, métodos y variables poseen un modificador de acceso

9 Modificadores de Acceso En Java existen cuatro tipos de acceso y sólo tres modificadores: public private protected (default)

10 Modificadores de Acceso: atributos y métodos public protected default private Visibilidad Clase Visibilidad Paquete Visibilidad subclases Visibilidad todos

11 Modificador public UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO public permite a cualquier objeto acceder a: las clases atributos y métodos

12 Modificador public (2) Acceso público a cualquier piso, inclusive áreas donde no deben ingresar visitantes

13 Modificador public (3) Sólo puede existir una clase publica por cada archivo de código fuente El nombre del archivo debe coincidir con el nombre de la clase pública

14 Modificador public (3) Colocar enfrente de la variable atributo o método el modificador public public int pisoactual = 1; public void setpiso(int pisodeseado) {. }

15 Problemas potenciales - public Clase sin encapsular /** * Archivo: ElevadorPublico.java */ public class ElevadorPublico { // definición de atributos public boolean ptasabiertas = false; public int pisoactual =1; public int peso=0; } // definición de constantes public static final int CAPACIDAD = 500; public static final int PISO_MAX= 5; public static final int PISO_MIN= 1;

16 // Clase TestElevadorPublico. public class TestElevadorPublico { public static void main (String[] args) { ElevadorPublico ep = new ElevadorPublico( ); ep.ptasabiertas=true; ep.ptasabiertas=false; System.out.println("piso actual:"+ ep.pisoactual); // bajar al piso 0 ep.pisoactual--; System.out.println("piso actual:"+ ep.pisoactual); ep.pisoactual++; System.out.println("piso actual:"+ ep.pisoactual); // pasar al piso 7 (sólo hay 5 pisos) ep.pisoactual=7; System.out.println("piso actual:"+ ep.pisoactual); ep.ptasabiertas=true; // los pasajeros suben/bajan ep.ptasabiertas=false; // los pasajeros suben/bajan ep.pisoactual=1; // pasa al piso 1 ep.ptasabiertas=true; // los pasajeros suben/bajan System.out.println("puertas abiertas->"+ ep.ptasabiertas); ep.pisoactual++; System.out.println("piso actual:"+ ep.pisoactual); } // fin main } // fin de la clase

17 Modificador private UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO private no permite que otros objetos accedan a atributos y métodos de alguna clase dada Elevador Privado

18 Modificador private UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Se coloca el modificador private delante de la variable o método private int pisoactual = 1; private void getcapacidad() {. }

19 Clase ElevadorPrivado /** * Archivo: ElevadorPrivado.java */ public class ElevadorPrivado { // definición de atributos private boolean ptasabiertas = false; private int pisoactual =1; private int peso=0; } // definición de constantes private static final int CAPACIDAD = 500; private static final int PISO_MAX= 5; private static final int PISO_MIN= 1;

20 // Clase TestElevadorPrivado. public class TestElevadorPrivado { public static void main (String[] args) { ElevadorPrivado ep = new ElevadorPrivado( ); ep.ptasabiertas=true; ep.ptasabiertas=false; System.out.println("piso actual:"+ ep.pisoactual); // bajar al piso 0 ep.pisoactual--; System.out.println("piso actual:"+ ep.pisoactual); ep.pisoactual++; System.out.println("piso actual:"+ ep.pisoactual); // pasar al piso 7 (sólo hay 5 pisos) ep.pisoactual=7; System.out.println("piso actual:"+ ep.pisoactual); ep.ptasabiertas=true; // los pasajeros suben/bajan ep.ptasabiertas=false; // los pasajeros suben/bajan ep.pisoactual=1; // pasa al piso 1 ep.ptasabiertas=true; // los pasajeros suben/bajan System.out.println("puertas abiertas->"+ ep.ptasabiertas); ep.pisoactual++; System.out.println("piso actual:"+ ep.pisoactual); } // fin main } // fin de la clase

21 Sugerencias para el encapsulamiento En un programa ideal la mayoría de los atributos deben ser privados Los atributos deben ser modificados o consultados por medio de métodos que publica la clase Los métodos deben proporcionar la lógica de negocio asegurar la asignación válida de datos a los atributos

22 Sugerencias para el encapsulamiento (2) Los métodos públicos y las variables atributos se conocen como interfaz de la clase La interfaz proporciona los elementos que otras clases pueden usar La implementación del método es el detalle de cómo una clase completa una operación dentro de un método Un objetivo de la POO crear métodos públicos y atributos de modo que la implementación puede cambiar sin afectar la interfaz

23 Interfaz & Implementación Interfaz igual Implementación diferente

24 Ejemplo de Encapsulación

25 Ejemplo ElevadorPrivado2 (1) /** * Archivo: ElevadorPrivado2.java */ public class ElevadorPrivado2 { // definición de atributos private boolean ptasabiertas = false; private int pisoactual =1; private int peso=0; // definición de constantes private static final int CAPACIDAD = 500; private static final int PISO_MAX= 5; private static final int PISO_MIN= 1;

26 Ejemplo ElevadorPrivado2 (2) public void abrirpuertas( ) { System.out.println("Abriendo puertas."); ptasabiertas = true; System.out.println("Puertas abiertas."); } public void cerrarpuertas( ) { System.out.println("Cerrando puertas."); ptasabiertas = false; System.out.println("Puertas cerradas."); } public void subir( ) { System.out.println("Subiendo un piso."); pisoactual++; System.out.println("Piso: " + pisoactual ); }

27 Ejemplo ElevadorPrivado2 (3) public void bajar( ) { System.out.println("Bajando un piso."); pisoactual--; System.out.println("Piso: " + pisoactual ); } public void setpiso(int pisodeseado) { if ( pisodeseado >= PISO_MIN && pisodeseado<=piso_max) while (pisoactual!= pisodeseado) { if (pisoactual < pisodeseado) subir(); else bajar(); } }

28 Ejemplo ElevadorPrivado2 (4) public int getpiso( ) { return pisoactual; } public boolean getestatusptas( ) { return ptasabiertas; } } // FIN DE LA CLASE

29 Clase TestElevadorPrivado2 UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO public class TestElevadorPrivado2{ public static void main(string args[]) { ElevadorPrivado2 ep= new ElevadorPrivado2( ); ep.subir(); ep.abrirpuertas(); ep.cerrarpuertas(); ep.subir(); ep.subir(); ep.subir(); ep.abrirpuertas(); ep.cerrarpuertas(); ep.bajar(); ep.bajar(); ep.bajar(); int pisoact= ep.getpiso(); System.out.println("checando piso Actual: " + pisoact); ep.setpiso(5); ep.abrirpuertas(); } } // FIN CLASE

30 Aplicabilidad: Modificadores de Acceso private (default) protected public Clase Método Atributo NO SI NO SI SI SI SI SI SI SI SI SI

31 Modificadores de Acceso: atributos y métodos public protected default private Visibilidad Clase Visibilidad Paquete Visibilidad subclases Visibilidad todos

32 Ejercicio

33 Ejercicio OO (1) Crear una clase Rectangulo que represente un rectángulo usando atributos privados ancho y alto. Crear los siguientes métodos públicos getalto retorne el alto getancho retorne el ancho setalto verifique que el parámetro no sean mayor a 30 ni menor a 0 setancho verifique que el parámetro no sean mayor a 50 ni menor a 0 getarea UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO retorne el área de la figura getperimetro retorne el perímetro de la figura dibujar dibuje el rectángulo usando asteriscos (*)

34 Ejercicio OO (2) Crear otra clase TestRectangulo que contenga el método main y que demuestre el uso de la clase Rectangulo 1. Invocar los métodos con datos válidos 2. Invocar los métodos con datos inválidos

Programación Orientada a Objetos con Java

Programació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 detalles

Curso de Java POO: Programación orientada a objetos

Curso 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 detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN 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 detalles

Programación Orientada a Objetos en Java

Programació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 detalles

Programación orientada a objetos

Programación orientada a objetos Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad 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 detalles

Introducción a la Programación Orientada a Objetos

Introducció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 detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

Identificadores, 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, 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 detalles

Tema: Clases y Objetos en C++.

Tema: Clases y Objetos en C++. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica

Más detalles

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Clases. 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 detalles

Programación Orientada a Objetos en JAVA

Programación Orientada a Objetos en JAVA Programación Orientada a Objetos en JAVA Jorge Pérez Introducción a la Computación Jorge Pérez Programación Orientada a Objetos en JAVA 1 / 36 Orientación a Objetos OO es un paradigma de modelación y programación

Más detalles

class Nombre_Clase extends Nombre_SuperClase { cuerpo de la clase extendida }

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)

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

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 Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Java: Clases Abstractas e Interfaces

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 fguidi@ucv.cl A nivel conceptual,

Más detalles

1. Qué tipos de relación hay entre las siguientes clases?

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

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

15. Parámetros o argumentos

15. 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 detalles

19. Packages o paquetes

19. Packages o paquetes Programación orientada a objetos con Java 201 19. Packages o paquetes Objetivos: a) Definir el concepto de paquete b) Interpretar el código fuente de una aplicación Java donde se utilicen paquetes c) Construir

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase Programación Orientada a Objetos Implementación en Java Angela C. Carrillo Ramos Agenda Implementación y uso de clases en Java Ejemplo clase CuentaBancaria 1 Ejemplo Diseño Cuenta Bancaria (1) Diseñar

Más detalles

Carmen. Estándares de codificación. Manuel Arias Calleja

Carmen. Estándares de codificación. Manuel Arias Calleja Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java 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 detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN INTRODUCCION Un arreglo es una colección de variables del mismo tipo, referidos por un nombre común. En Java, los arreglos tienen una o más dimensiones,

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

Tutorial básico del entorno de desarrollo Eclipse.

Tutorial básico del entorno de desarrollo Eclipse. Tutorial básico del entorno de desarrollo Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de que se presente

Más detalles

2.1. Introducción al lenguaje Java

2.1. Introducción al lenguaje Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

2. Estructura de un programa en Java

2. 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 detalles

Tema 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 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 detalles

Benemérita Universidad Autónoma del Estado de Puebla

Benemérita Universidad Autónoma del Estado de Puebla Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

Más detalles

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

Tema 2: Clase y objetos en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

Tema 2: Clase y objetos en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Tema 2: Clase y objetos en Java Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Índice Introducción Clases Objetos Semántica referencia Métodos y mensajes Creación de objetos Modelo

Más detalles

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

El Concepto De Objeto y Clase

El Concepto De Objeto y Clase TEMA 3 El Concepto De Objeto y Clase V1.2 Manuel Pereira González Agenda Encapsulamiento y Reutilización Introducción a Objetos y Clases Resumen 1 Encapsulamiento y Reutilización Nivel de abstracción ->

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 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 detalles

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases

Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases Fundamentos de la Programación Orientada a Objetos Objetos y Clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

POO en Java IV: Herencia (Parte 1)

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 fguidi@ucv.cl Es la derivación de una clase a partir de otra existente.

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur.

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur. Historia de Java 1991 Comienza el proyecto Green. 1992 Se presenta el lenguaje Oak. Java, 10 años - JavaOne Conference 26 al 30 de junio de 2005 1995 Nace oficialmente la tecnología Java. Cambia el nombre

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles

Primer Parcial Septiembre 5 de 2009

Primer Parcial Septiembre 5 de 2009 Primer Parcial Septiembre 5 de 2009 Algoritmos y Lenguajes II Reglas del juego Tal como se le dijo antes, durante este examen usted no puede pedir ABSOLUTAMENTE nada prestado a sus compañeros, ni hablar

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Herencia e Interfaces

Herencia 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 detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados

Más detalles

Pruebas de unidad con JUnit

Pruebas de unidad con JUnit Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro

Más detalles

Ejercicios del tema 7: Clases y objetos

Ejercicios del tema 7: Clases y objetos Metodología y Tecnología de la Programación ESI-UCLM Ejercicios del tema 7: Clases y objetos 1. a) Diseñe e implemente en Java una clase para trabajar con triángulos isósceles. Para ello, defina las variables

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos IPOO 2 cuatrimestre 2015 Introducción a la Programación Orientada a Objetos Sonia Rueda Representación en memoria de clases asociadas Departamento de Ciencias e Ingeniería de la Computación UNIVERSIDAD

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Programación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.

Programación Orientada a Objetos en C#.NET CAPÍTULO 5 H E R E N C I A. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu. CAPÍTULO 5 H E R E N C I A 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué ventajas ofrece la herencia a un programador? Cuál es la diferencia entre herencia simple y herencia múltiple?

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Flujos de Entrada/Salida 2 Flujos de Entrada/Salida Hay librerías Orientadas a bytes Orientadas a caracteres Se usa la abstracción de un

Más detalles

Patrón Fábrica Abstracta. Julio Ariel Hurtado Alegría Ingeniería de Software II 2015

Patrón Fábrica Abstracta. Julio Ariel Hurtado Alegría Ingeniería de Software II 2015 Patrón Fábrica Abstracta Julio Ariel Hurtado Alegría Ingeniería de Software II 2015 Contenido Descripción General Problema Solución Participantes Ejemplo: Fábrica de Carros Ejemplo: RelojVisual 2 Descripción

Más detalles

Multitarea en Java. Rafa Caballero - UCM

Multitarea en Java. Rafa Caballero - UCM Multitarea en Java Rafa Caballero - UCM Programa Monoproceso (monotarea) En cada momento hay una única instrucción ejecutándose Se dice que el programa es monotarea, o monoproceso o monohebra (o single

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Configuración de Java en Windows UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO Descarga de software

Más detalles

Trabajo Práctico N 4: Diseño por Contratos

Trabajo Práctico N 4: Diseño por Contratos 1. Defina los contratos de las siguientes clases: Trabajo Práctico N 4: Diseño por Contratos a. La clase Fecha representa una fecha en el formato dia, mes y año. Especificar los contratos para asegurar

Más detalles

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Definición de clases: Herencia, polimorfismo, ligadura dinámica Tema 7 Definición de clases: Herencia, polimorfismo, ligadura dinámica Con alguna frecuencia es necesario definir clases de objetos entre las cuales hay elementos comunes. En una aplicación en la cual

Más detalles

Soluciones Ejercicios Tema 3

Soluciones Ejercicios Tema 3 1 Soluciones Ejercicios Tema 3 Germán Moltó gmolto@dsic.upv.es Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio

Más detalles

Arquitectura y Lenguaje Java

Arquitectura y Lenguaje Java Arquitectura y Lenguaje Java 1 Introducción El lenguaje de programación Java así como su arquitectura se diseñaron para resolver problemas que se presentan en la programación moderna. Se inició como parte

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos.

Threads. La plataforma JAVA soporta programas multhreading a través del lenguaje, de librerías y del sistema de ejecución. Dos. Threads Un thread es un flujo de control secuencial dentro de un programa. A los threads también se los conoce como procesos livianos ó contextos de ejecución. Un thread es similar a un programa secuencial:

Más detalles

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype

Patrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015

Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento

Más detalles

Clases y funciones amigas: friend

Clases y funciones amigas: friend 1. Introducción a las funciones amigas (Funciones friend) 2. Funciones amigas 3. Clases amigas 4. Ejemplo: La clase fraccional. Métodos operadores amigos 5. Ejemplo: Las clases Coche y Camión. 1 Introducción:

Más detalles

Fundamentos de la Programación Orientada a Objetos Definición de Clases

Fundamentos de la Programación Orientada a Objetos Definición de Clases Fundamentos de la Programación Orientada a Objetos Definición de Clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense

Más detalles

Estructura de datos tipo vector.

Estructura de datos tipo vector. Estructura de datos tipo vector. Hemos empleado variables de distinto tipo para el almacenamiento de datos (variables int, float, String) En esta sección veremos otros tipos de variables que permiten almacenar

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Resumen Lenguaje Java

Resumen Lenguaje Java Resumen Lenguaje Java Métodos (Subprogramas) Tipos de Métodos: con resultado y tipo void Definición 1. Método con resultado, retorna un solo valor, equivalente a los subprogramas tipo función tipo_de_dato_a_retornar

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Tema 2. El lenguaje de programación Java. Arrays y cadenas Programación en Java Tema 2. El lenguaje de programación Java. Arrays y cadenas Luis Rodríguez Baena Facultad de Informática Arrays y colecciones Hay dos formas de guardar varias referencias a objetos:

Más detalles

Computación III. Objetivo de aprendizaje del tema

Computación III. Objetivo de aprendizaje del tema Computación III Tema 5 Declaración, inicialización y uso de variables 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Identificar la sintaxis de las variables en el lenguaje Java.

Más detalles

La clase estándar Scanner

La clase estándar Scanner La clase estándar Scanner La clase Scanner de Java provee métodos para leer valores de entrada de varios tipos y está localizada en el paquete java.util. Los valores de entrada pueden venir de varias fuentes,

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓ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 detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

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:

Más detalles

Tema: Herencia Simple y Múltiple en C++.

Tema: Herencia Simple y Múltiple en C++. Programación II. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia Simple y Múltiple en C++. Objetivos Específicos Crear clases a través de la herencia de clases

Más detalles

Clases y Objetos. Informática II Ingeniería Electrónica

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones.

Refactorizar (v) Reestructurar el software aplicando una secuencia de refactorizaciones. Refactorización Definición Refactorización (n) Cambio realizado a la estructura interna del software para hacerlo más fácil de comprender y más fácil de modificar sin cambiar su comportamiento observable.

Más detalles

Agentes con Interfaz Gráfica.

Agentes con Interfaz Gráfica. Agentes con Interfaz Gráfica. Hasta este momento los talleres que se habían desarrollado contaban con una interfaz gráfica muy limitada. Pero en la mayoría de los sistemas multiagente debe existir una

Más detalles

Programación Orientada a Objetos: Arreglos en Java

Programación Orientada a Objetos: Arreglos en Java Programación Orientada a Objetos: Arreglos en Java Mario Marcelo Berón Área de Metodologías, Programación y Desarrollo de Software May 12, 2011 Son estructuras lineales indexadas donde cada posición posee

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles