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

Documentos relacionados
Forma Básica Clase Java

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

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

PROGRAMACION ORIENTADA A OBJETOS EN C++

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

Curso de Java POO: Programación orientada a objetos

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Aplicaciones de Escritorio

Tema 3. Programación orientada a objetos en Java (Parte 1)

Derechos de Acceso: COMPOSICION

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

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Introducción a la Orientación a Objetos

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

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

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

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

Programación Orientada a Objetos (POO)

Diseño Basado en Componentes. Curso 2008 / 09

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Estructuras de Datos y Algoritmos. Primeros ejemplos de TDA

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

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Universidad Salesiana de Bolivia

Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

Modulo 11. Clases y Objetos en Java

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

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

Capítulo 16. Diagrama de Clases UML

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

Java Inicial (20 horas)

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

Tema 3: Programación orientada a objetos (I)

La sintaxis básica para definir una clase es la que a continuación se muestra:

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

El patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA INDUSTRIAL

Prácticas de Programación

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Programación con Visual C#

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

Unidad Nº V Listas Enlazadas

PROGRAMACIÓN ORIENTADA A OBJETOS

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

Patrones. Patrones GRASP GRASP GRASP. Curso de Arquitecturas de Software. Programación Orientada a Objetos Patrones GRASP

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

Curso Fundamentos de Informática Lección 7. Programación Orientada a Objetos

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Creación de un objeto. Creación de un objeto. Creación de un objeto

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

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

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Las plantillas permiten definir funciones genéricas.

Herencia. Hay clases que comparten gran parte de sus características.

JAVA -INTRODUCCIÓN AL LENGUAJE

Curso de Java POO: Programación orientada a objetos

Programación estructurada (Introducción a lenguaje C)

Clases en C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Algoritmos y Programación II. Enero de 2005

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

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

CLA. Diagramas de clases en Métrica V3

2.2.- Paradigmas de la POO

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Lenguaje de programación con JAVA

Tema 7.- Fundamentos de la Programación Orientada a Objetos

1

ESCUELA DE INFORMÁTICA

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

FUNDAMENTOS DE INFORMÁTICA

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

Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Serialización de datos en C# en Binario, Soap y Xml

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

Objetos y Clases en Java. ELO 329: Diseño y Programación Orientados a Objetos

Elementos Diagramas de Clases Clase:

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

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Programación Orientada a Objetos en Java

Conversión entre Tipos

Transcripción:

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 estructurar un sistema El mundo del problema se ve como objetos que interactúan. Modelar consiste en : identificar qué objetos hay en el mundo del problema, cómo son, cómo se comportan y cómo se relacionan. Programación Orientada a Objetos 2 1

Objeto(1) Un objeto representa una entidad física, conceptual ó de software. Es una manifestación concreta de una abstracción con un límite bien definido y una identidad que encapsula estado y comportamiento. Un objeto puede : modelar entidades del mundo real, capturar abstracciones de fenómenos complejos, representar artefactos de software (pilas, gráficos, ). Programación Orientada a Objetos 3 Objeto(2) Ejemplos:Estudiante, Profesor, Fecha, Automóvil, Libro, Figura. El objeto tiene como propósito promover la comprensión del mundo real, y es la base de la implementación. Programación Orientada a Objetos 4 2

Comportamiento de los Objetos El comportamiento de los objetos puede ser descrito por una caracterización abstracta de su interfaz (servicios que presta). Por ejemplo los servicios del cajero: Programación Orientada a Objetos 5 Clase Describe un conjunto de objetos del mundo del problema, que tienen : las mismas características (atributos, propiedades) y el mismo comportamiento (operaciones, métodos). Estructura de software que especifica determinado tipo de objeto. Es una abstracción que enfatiza características relevantes de un concepto del mundo real. Las clases representan nuevos tipos de datos Programación Orientada a Objetos 6 3

Representación Gráfica de una Clase Programación Orientada a Objetos 7 Propiedad del objeto Atributo Determinan el estado del objeto Son los datos que contiene y encapsula una clase(ocultas al exterior) y se acceden por medio de algún método Es un valor de un dato que está almacenado en los objetos de una clase Los atributos son llamados variables de instancia podrían verse como una variable global a toda la clase. Programación Orientada a Objetos 8 4

Método(1) Una operación que se podrá realizar sobre un objeto Definen el comportamiento de la clase Servicios que ofrece la clase Permiten cambiar el estado del objeto, esto es, operan sobre los atributos. Programación Orientada a Objetos 9 Método(2) Los atributos son visibles en toda la clase En cualquier método se puede hacer referencia a las variables de instancia Los métodos pueden tener variables locales son visibles sólo dentro del método. Programación Orientada a Objetos 10 5

Clases y Objetos(1) Un objeto es una instancia de una clase con valores concretos en sus atributos. Los objetos son agrupados en clases. Una clase es una definición abstracta de un objeto Una clase es una plantilla para crear objetos Programación Orientada a Objetos 11 Clases y Objetos(2) La noción de Clase viene de clasificación: esto es, agrupar (en un conjunto) objetos (elementos) que se comportan de la misma manera. Todos los objetos de una clase tienen la misma estructura (los mismos atributos), lo que varía son los valores de dichos atributos Programación Orientada a Objetos 12 6

Clases y Objetos(3) Clase Cuenta Cuenta saldo 3 objetos de la clase Cuenta Observe que todos tienen un saldo, pero cada objeto con un valor diferente objcuenta1 : Cuenta objcuenta2 : Cuenta objcuenta3 : Cuenta saldo 500 saldo 9000 saldo 15000 Programación Orientada a Objetos 13 Visibilidad Atributos, Métodos Hay tres tipos de visibilidades: private (Privada): Indica que el atributo o el método no puede ser visto y utilizado por objetos de clases diferentes a la actual. public (Pública): Indica que el atributo o el método puede ser visto y utilizado por objetos de clases diferentes a la actual. protected (Protegida): Esta visibilidad hace referencia a estructuras con herencia, sólo es visible por ella misma y por sus subclases Programación Orientada a Objetos 14 7

Visibilidad - Privado + Publico # Protegido Programación Orientada a Objetos 15 Ejemplo de Visibilidad Service obj = new Service(); obj.memberone = 10; obj.membertwo = 20; obj.doone(); obj.dotwo(); class Service { public int memberone; private int membertwo; } public void doone() { } private void dotwo() { } Client Service Programación Orientada a Objetos 16 8

Visibilidad Clases Las visibilidad pueden ser aplicada también a la clase Existe otra visibilidad que se aplica a paquetes Un paquete es una colección de clases Cuando se marca una clase con visibilidad de paquete, se indica, que dicha clase puede ser vista y/o utilizada por las clases del mismo paquete. Programación Orientada a Objetos 17 Especifica que la clase forma parte del paquete conceptos import permite reusar clases de otros paquetes. Forma Básica Clase Java Sección de atributos visibles en toda la clase Sección de métodos Programación Orientada a Objetos 18 9

Paquetes Los paquetes son una forma de organizar grupos de clases. Un paquete contiene un conjunto de clases relacionadas por finalidad ó funcionalidad. Los paquetes resuelven el problema del conflicto entre los nombres de las clases. Al crecer el número de clases crece la probabilidad de designar con el mismo nombre a dos clases diferentes. La siguiente declaración indica que la clase va a pertenecer a un paquete llamado ventas Programación Orientada a Objetos 19 Importar clases La palabra reservada import permite utilizar clases de otro paquete Lo anterior no implica copiar el código de la clase importada a la clase importadora La anterior definición es equivalente a: En los lenguajes POO se debe informar la ubicación de los paquetes que se quieren importar: classpath Programación Orientada a Objetos 20 10

Clase Pública El archivo en el disco se debe llamar Orden.java Programación Orientada a Objetos 21 Clase Privada Si no aparece ningun modificador de visibilidad, la clase sólo es visible en el directorio. Programación Orientada a Objetos 22 11

Forma Básica de Atributos Comentario del atributo para ser usado con javadoc Visibilidad private public protected paquete Tipo String int double float boolean Nombre dado a la variable Programación Orientada a Objetos 23 Propiedades this this: Es una referencia al objeto (instancia de la clase) actual. Programación Orientada a Objetos 24 12

Modificador de Visibilidad private public protected paquete Forma Básica Métodos Tipo de retorno void (no retorna valor) String int double Nombre del método Lista de parámetros Cuerpo del método, incluido variables locales y un return al final si retorna un valor ó sin return si el retorno es void Programación Orientada a Objetos 25 Tipos de Métodos Existen varias clases especiales de métodos: Constructores: método para crear un nuevo objeto de la clase. Destructores: método para eliminar un objeto de una clase. Modificadores: métodos para asignar el valor de un atributo Analizadores: métodos para recuperar el valor de un atributo. Programación Orientada a Objetos 26 13

Métodos Analizadores(accesors) Por cada atributo de la clase existe un método get que retorna el valor de dicho atributo Programación Orientada a Objetos 27 Métodos Modificadores(mutators) Por cada atributo de la clase existe un método set que asigna un valor a dicho atributo Programación Orientada a Objetos 28 14

Encapsulamiento de Atributos Los objetos no deberían conocer detalles de implementación de otros objetos. Por ejemplo, un objeto, no debería modificar el valor de un atributo de otro objeto. Al definir la visibilidad de los atributos, esta debe ser lo más restrictiva posible, esto es, private. Los métodos modificadores y analizadores son los únicos que pueden cambiar ó retornar el valor de un atributo. Programación Orientada a Objetos 29 Encapsulamiento de Atributos Observe que el atributo TotalDinero es privado Para acceder al atributo se hace a través de los métodos getxxx y setxxx Programación Orientada a Objetos 30 15

Bibliografía UML y patrones una introducción al análisis y diseño orientado a objetos y al proceso unificado. Larman, Craig Paul Deitel. Como programar en Java 7/e. Pearson Education. 2007. Programación Orientada a Objetos 31 16