Programación Orientada a Objetos

Anuncio
Programación Orientada a
Objetos
Problema Bien Definido, Clase,
Clase, Objeto
Tomado y Adaptado de cursos de
Objetos de Uniandes, Bogotá
Proceso de Desarrollo de Sw
•OO como herramienta
de modelaje
•Refinamiento a pasos
•Técnicas de
especificación
Modelo y
especificación
Problema
Planeación
Diseño y Revisión
del diseño
•Refinamiento a pasos
•Técnicas de especificación
•Lenguaje imperativo
•Reutilización de componentes
Solución
expresada en C++/
Java
Codificación y
Revisión del
código
Ambiente de
Programación
Pruebas
Postmortem
Solución
informática
al problema
Proceso de construcción de software
Evaluación y
Mejora del proceso
Técnicas de Calidad
1
Agenda
Problema bien definido
Orientación a Objetos: Objeto - Clase
Solución de problemas
Qué es un problema?
Planteamiento de una situación cuya
respuesta desconocida debe obtenerse
a través de métodos científicos.
científicos. (Real
Academia de la Lengua Española)
Problema Bien Definido
Problema en el cual están definidas las
posibles entradas, la forma de la
solución y lo que se quiere lograr (la
función objetivo) aunque no haya un
método de solución evidente
2
Solución de problemas
Problemas bien definidos
Podemos identificar claramente un conjunto de
condiciones iniciales (la situación
problemática) y un conjunto de condiciones
finales (la situación en la que ya está resuelto
el problema)
Qué es solucionar un problema?
Condición
Inicial
Solución
Condición
Final
Proceso
Solución de problemas
Condición
Inicial
Mundo del problema
Solución
Condición
Final
Mundo del problema
3
Solución de problemas
Condición
Inicial
Solución
Condición
Final
Mundo del problema
Mundo del problema
Modelar
Condición
Inicial
Modelo del Mundo
Interpretar
Programa
Condición
Final
Modelo del Mundo
Modelo del Mundo
Metodología Orientada a Objetos
El mundo del problema se ve como
objetos que interactúan
Modelar consiste en identificar qué tipos
de objetos hay en el mundo del
problema,, cómo son, cómo se comportan
problema
y cómo se relacionan.
relacionan.
4
Modelo del Mundo
Metodología Orientada a Objetos
Modelo del
problema
Modelo del
mundo
Metodología Orientada a Objetos
Clase - Objeto
Objeto
Representación detallada, concreta y particular de
un algo
algo.. Tal representación determina su identidad,
su estado y su comportamiento particular en un
momento dado.
dado.
Es una abstracción de un elemento (concepto) del
Mundo del Problema
Ejemplos:
Persona
Estudiante
Parqueadero
Automóvil
Camión
5
Metodología Orientada a Objetos
Clase - Objeto
Objeto
El estado es el conjunto de valores
concretos que lo caracterizan en un
momento dado
dado.. Ej
Ej.. nombre, carrera,
semestre, etc
etc..
El comportamiento define un conjunto de
operaciones que el objeto es capaz de
llevar a cabo. Dichas operaciones pueden:
Estar relacionadas entre sí
Modificar el estado del objeto
Invocar funcionalidades de otros objetos
...
Metodología Orientada a Objetos
Clase - Objeto
Objeto
Cómo identificar los objetos del Mundo?
Sustantivos del enunciado (El puesto del
parqueadero, la pantalla, el hospital..., la historia
clínica..., la factura ...)
Cosas tangibles (libro, tren, mesa, voto,
computador,...)
Roles (empleado, estudiante, profesor, paciente,
propietario,...)
Incidentes (venta, compra, matrimonio,...)
6
Metodología Orientada a Objetos
Clase - Objeto
Objeto
Partes de un objeto
Identificación:
Cómo se llama?
Nombre
Atributos
Comportamiento
Estado (Información):
Qué lo caracteriza?
Comportamiento:
Qué sabe hacer?
Metodología Orientada a Objetos
Clase - Objeto
Objeto
Partes de un objeto (Ejemplos)
09/05/07
Fecha
09
dia
mes
05
07
año
cambiarDia
cambiarMes
cambiarAño
darMes ...
Estudiante
nombre Felipe Diaz
71896258
cedula
4.8
promedio
cambiarNombre
identificarEstudiante
calcularPromedio
...
7
Metodología Orientada a Objetos
Clase - Objeto
Clase
Generalización de un objeto en particular.
Representación de una familia de objetos
concretos.
Metodología Orientada a Objetos
Clase - Objeto
Clase
Describe un conjunto de objetos del
Mundo del Problema,
Problema, que tienen las
mismas características y el mismo
comportamiento
Objetos del mismo tipo
Clase
8
Metodología Orientada a Objetos
Clase - Objeto
Clase
10:15:21
Reloj
horas
minutos
segundos
cambiarHora
cambiarMinutos
cambiarSegundos
darHora ...
Estudiante
nombre
cedula
promedio
cambiarNombre
cambiarSalario
calcularPromedio
...
Metodología Orientada a Objetos
Clase - Objeto
Clase
Todos los objetos de una clase tienen la
misma estructura, lo que varía son los
atributos::
valores de los atributos
Estudiante
nombre Juana López
72001000
cedula
4.3
promedio
cambiarNombre
identificarEstudiante
calcularPromedio
...
Estudiante
nombre Juan Pérez
71896258
cedula
4.5
promedio
cambiarNombre
identificarEstudiante
calcularPromedio
...
Estudiante
nombre Simón Rojas
17008952
cedula
4.2
promedio
cambiarNombre
identificarEstudiante
calcularPromedio...
Un objeto es una instancia de una clase
9
Metodología Orientada a Objetos
Clase - Objeto
Clase
Partes de una clase
Identificación:
Cómo se llama la clase?
Nombre
Atributos
Propiedades
Qué caracteriza los objetos de la clase?
Comportamiento
Comportamiento:
Qué saben hacer los objetos de la
clase?
Restricciones
Afirmaciones sobre los atributos
que SIEMPRE se deben cumplir
Metodología Orientada a Objetos
Clase - Objeto
Atributos
Características observables de los
objetos de la clase
Características relevantes al Mundo del
Problema
Definen la información asociada con un
objeto
Permiten distinguir un objeto de otro
Determinan el estado del objeto
Nombre
Atributos
Comportamiento
10
Metodología Orientada a Objetos
Clase - Objeto
Ejemplos
de atributos
Estudiante
nombre
cedula
promedio
...
Metodología Orientada a Objetos
Clase - Objeto
Métodos
El comportamiento de los objetos de una
clase se describe a través de un conjunto de
métodos.
Un método simula una operación (o proceso)
que los objetos de la clase saben realizar.
Los métodos permiten "administrar" el estado
del objetos: cambiar los valores de los
atributos.
Los métodos permiten consultar el estado de
los objetos: conocer los valores de los
atributos
Nombre
Atributos
Comportamiento
11
Metodología Orientada a Objetos
Clase - Objeto
Composición de clases
Permite
representar relaciones de
composición entre dos clases
...está compuesto de ...
... tiene un ...
... es parte de ...
Ejemplos:
una persona tiene una fecha de nacimiento
un carro está compuesto de un motor, carrocería,
cuatro ruedas, etc.
12
Descargar