Taller de Programación I. Tema 05: Programación Orientada a Objetos en Java 01

Documentos relacionados
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Taller de Programación I. Tema 06: Orientación al Objeto en Java (parte 2)

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Los tipos de datos primitivos

Principios de Computadoras II

Introducción a Java. Introducción a Java. Programación I

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Conceptos Básicos. Programación Orientada a Objetos 2

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Taller de Programación I. Tema 02: Programación en Java, estructuras iterativas y condicionales

PROGRAMACION ORIENTADA A OBJETOS EN C++

Curso Introducción JAVA Pág.: 1

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

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

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Construcciones del Lenguaje Java

FACULTAD DE INGENIERÍA

Programación Orientada a Objetos con Java

Tema 3 Elementos básicos de programación

Introducción al lenguaje de programación java

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Prueba N o 1. Programación II

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Guía práctica de estudio 04: Clases y objetos

ESCUELA DE INFORMÁTICA

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Datos y tipos de datos

1 ELEMENTOS BASICOS DEL LENGUAJE

Curso de Java POO: Programación orientada a objetos

Java Avanzado Facultad de Ingeniería. Escuela de computación.

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

4. Operadores Operador asignación

Elementos léxicos del lenguaje de programación Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

5. Sentencias selectivas o condicionales

INTERACCION ENTRE OBJETOS

Modulo 11. Clases y Objetos en Java

Código: Salida. Circulo>>(1,2,2.45) Punto >>(1,1)

Ficha de Aprendizaje N 13

Lección 2 Introducción al lenguaje C

Nombran variables, funciones, clases y objetos

Taller de Programación I. Introducción a Java

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

FUNDAMENTOS DE INFORMÁTICA

Programación Orientada a Objetos en C++

Fundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software

El lenguaje C. 1. Identificadores, constantes y variables

VARIABLES TIPOS FUNDAMENTALES

Tema: Clases y Objetos en C#. Parte II.

Conceptos de Programación Orientada a Objetos

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga

Elementos Diagramas de Clases Clase:

Tema 7: Polimorfismo. Índice

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

Java para programadores

Definición de Memoria

como les va con las practicas?

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Introducción a los Sistemas Digitales. Conceptos básicos de matemática aplicada a los sistemas digitales

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Objetivo de aprendizaje del tema

Programación estructurada (Tipos, operadores y expresiones)

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

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

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

TEMA 6: INTRODUCCIÓN A UML

MOO - Metodología y Programación Orientada a Objetos

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Computación II. Introducción a Visual Basic

Elementos de un programa en C

Curso de Java POO: Programación orientada a objetos

Introducción a la Orientación a Objetos

Unidad I. Introducción al Lenguaje Java. Ing. José Luis Llamas Cárdenas

Tipos de datos algebraicos

Tema: Funciones, Procedimientos y Recursividad en C#.

Fundamentos de la programación

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

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

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

TIPOS DE DATOS (VARIABLES) EN JAVA. TIPOS PRIMITIVOS (INT, BOOLEAN, ETC.) Y OBJETO (STRING, ARRAY, ETC.) (CU00621B)

4/14/2010. Objetivos. Que es JAVA. JAVA como plataforma. Reglas Sintácticas y de Codificación Básicas de JAVA

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

UML Unifield Modeling Languaje

Transcripción:

INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 05: Programación Orientada a Objetos en Java 01 Ing. Manuel López Ramos (versión 2)

Parte I Conceptos Básicos de Orientación a Objetos

Conceptos de Orientación a Objetos La orientación a objetos es una forma de análisis y diseño de software que permite desarrollar software más complejo, pero en menor tiempo y de una forma organizada y más racional. Los conceptos básicos a desarrollar son los siguientes: Objeto (entidad, concepto o idea) Atributo (características de un objeto) Método (acciones que puede realizar un objeto) Clase Instancia de clase Paso de mensajes Herencia Polimorfismo

Conceptos de Orientación a Objetos Objeto: cualquier entidad, concepto o idea que es importante para la definición de un problema y que posee características y acciones asociadas al problema en cuestión.. Perro Dígito Avión Edificio Árbol Link

Conceptos de Orientación a Objetos Atributo: corresponde a una característica de un objeto, importante para la definición del problema, y que puede tomar un valor desde un conjunto finito de valores. Lista de atributos: raza -> String -> "Bulldog" nombre -> String -> "Rex" color -> String, int o float -> "café" tamaño -> String o char -> "Pequeño" altura -> float o double -> 10.50 sexo -> char -> 'M' Lista de atributos: tipo -> String -> "Decimal" nombre -> String -> "Uno" valor -> byte -> 1 trazos -> byte -> 2

Conceptos de Orientación a Objetos Método:acciones relevantes al problema a tratar, que puede realizar un objeto de forma propia o que otro objeto puede realizar sobre el primero. acciones del objeto ladrar() darlenombre(nombre:string) Objeto Perro obtenerpeso():float Clase: conjunto infinito de objetos que comparten las mismas características (atributos) y acciones (métodos) entre sí. Sin embargo, el valor de los atributos no tienen necesariamente los mismos valores. Clase Perro Clase FiguraGeometrica

Conceptos de Orientación a Objetos Instancia de clase: objeto creado a partir de una clase, cuyos atributos tienen un valor determinado a partir de su conjunto de valores asociado. FiguraGeometrica: triangulo01 nombre = "Triángulo" color = "Celeste" area = 34.1894 numlados = 3 esregular = false Clase FiguraGeometrica FiguraGeometrica: circulo02 nombre = "Círculo" color = "Verde" area = 562.91 numlados = 0 esregular = true

Conceptos de Orientación a Objetos Paso de mensajes: es un mecanismo invisible que permite que el programa le pida a una instancia de clase que ejecute una de sus acciones asociadas. Instancia de Perro (Rex01) Ejecute el método ladrar()! Mensaje en Java: Rex01.ladrar()

Conceptos de Orientación a Objetos Herencia: es un mecanismo por el cual todos los objetos de una clase adoptan automáticamente todos los atributos y métodos de otra clase (pero no sus valores). Es una forma de extender el funcionamiento de los objetos a partir del comportamiento de otras clases ya creadas. Perro Deportista Perro de Asistencia Perro Perro Artista

Conceptos de Orientación a Objetos Polimorfismo: es un mecanismo que permite que un método sea aplicado sobre objetos de diferentes clases, cada uno de ellos respondiendo de forma diferente a la misma acción aplicada. Objeto Helicóptero Mensaje en Java: volar() Objeto Avión Objeto Superman

Parte II Diagrama de clases de UML

Diagrama de clases de UML Los conceptos anteriores pueden diagramarse, utilizando un tipo de lenguaje de modelado, conocido como UML (Unified Modeling Language). A continuación, se muestra la forma en la que se aplican los conceptos sobre un tipo de diagramas de UML, denominado diagrama de clases. Clases: las clases se grafican utilizando un rectángulo con 3 áreas: nombre de la clase lista de atributos lista de métodos

Diagrama de clases de UML (continuación) Algunas cosas a considerar: 1) Nombre de la clase: debe escribirse, en general, utilizando notación "camello" (cada palabra comienza por mayúscula inicial). Además, el nombre debe escribirse en singular. 2) Visibilidad: este concepto indica los lugares de la aplicación desde donde podrá llamarse y utilizarse una determinada variable o función. Los tipos de visibilidad definidos en UML (y en Java) son los siguientes: Tipos de acceso: público (signo +) privado (signo -) protegido (signo #) por omisión (sin signo) Tipo de datos: char, byte, short, int, long, float, double, String, etc.

Diagrama de clases de UML (continuación) 3) Atributos de la clase: en Java, se escriben con notación "camello", pero con minúscula inicial (por ejemplo: cantidadpersonas, tipocolor, etc.) Además, se acompañan con dos elementos adicionales: el tipo de acceso al atributo y el tipo de datos que aceptará. Ejemplos de atributos: nombre: String edad: byte altura: float esadulto: boolean

Diagrama de clases de UML (continuación) 4) Métodos de la clase: en Java, se escriben con notación "camello", pero con minúscula inicial (por ejemplo: obteneredad, pintar, incrementar, etc.) Además, se acompañan con tres elementos adicionales: el tipo de acceso al atributo, los parámetros de entrada (si los tuviera) y el tipo de datos que retornará (en el caso de que se trate de una función; si es sólo un procedimiento, no se especifica ninguno). Si el método además se subraya, se tratará de un método estático (definido con la palabra clave static; más sobre este tema en un capítulo posterior). Por ejemplo: pintar() obteneredad(): byte definircolor(color: String) eshumano(ser: SerVivo): boolean

Diagrama de clases de UML (continuación) Los métodos son equivalentes a las subrutinas de otros lenguajes (procedimientos y subrutinas). Por ejemplo: a) pintar() pintar() (void) b) obteneredad(): byte c) definircolor(color: String) String (color) obteneredad() definircolor() byte (void) d) eshumano(ser: SerVivo): boolean SerVivo (ser) eshumano() boolean MÉTODOS (O SUBRUTINAS)

Diagrama de clases de UML (continuación) Sintaxis general de atributos en UML: <nombreatributo>: <tipodato> Sintaxis general de métodos en UML: <nombremetodo> (<parámetros_opcionales>): <tiporetorno>

Resumen De forma general, una clase puede anotarse como se muestra a continuación: atributos públicos (+), privados (-) y protegidos (#) con su tipo de datos métodos públicos (+), privados (-) y protegidos (#) con o sin tipo de dato de retorno con o sin parámetros método estático

Parte III Cardinalidad de relaciones

Relaciones entre clases Relaciones: las clases no viven solas dentro de una aplicación, sino que más bien se vinculan a otras clases a través del significado, del trabajo conjunto o de la dependencia jerárquica. El vínculo entre dos clases se conoce con el nombre de relación entre clases y se grafica con una línea recta entre ambas clases participantes. Las relaciones tienen un nombre, que indica cómo se vinculan o trabajan ambas clases entre sí; también tienen una dirección de uso (unidireccionales o bidireccionales). Por ejemplo: (relación bidireccional) (relación unidireccional)

Relaciones entre clases (continuación) Cuando hay dos o más clases se pueden verificar más relaciones entre ellas. Por ejemplo: (relación reflexiva)

Relaciones entre clases (continuación) Cardinalidad: en las relaciones no siempre participa sólo una instancia de cada clase; en realidad, las instancias pueden participar en diferentes cantidades. Estas cantidades se denominan como la cardinalidad de la relación y se indican en el diagrama de clases utilizando números o símbolos a ambos lados de la línea que conecta las clases. Existen diferentes notaciones para la cardinalidad. Estas son: Símbolo 1 N 0..1 0..* * Cardinalidad uno 'N' objetos cero o uno cero o muchos 1..* uno o muchos

Relaciones entre clases (continuación) Ejemplos de cardinalidad aplicada a las relaciones: 1) un hombre es padre de cero o más niños 2) una mujer es madre de cero o más niños 3) un hombre se casa con una mujer 1) un directorio guarda cero o más archivos 2) un directorio está dentro de cero o un directorio 1) una molécula está formada por 1 ó más átomos 2) un átomo está formado por 1 ó más partículas