Está en la página 1de 34

Unidad 6

Metodología Orientada a Objeto para


la construcción de modelos
computacionales

Facilitador: Sullin Santaella Algorítmica y Programación


Objetivo
Facilitar el dominio de la metodología
orientado a objetos.

Contenido
Análisis: Identificación de clase, atributos y
métodos.
Diseño: Representación gráfica de las clases.
Implementación: Construcción de modelos
computacionales empleando algoritmos.
Introducción
La Programación Orientada a Objetos (POO) es una
forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real. Se basa en la idea
natural de la existencia de un mundo lleno de objetos, de
modo que la resolución del problema se realiza en
términos de objetos.
Esta unidad te permitirá repasar los conceptos
fundamentales impartidos en la asignatura Introducción a
la Computación relacionados con la programación
orientada a objetos, como son: objetos, clases, métodos,
entre otros.
Para el estudio exitoso de esta unidad requieres
tener el dominio de:
Proceso de ejecución de un programa.
Elementos básicos del lenguaje de programación.
Operadores, operandos y expresiones del lenguaje de
programación.
Estructuras de flujos de control
dellenguaje de programación.
Funciones.
La Programación Orientada a Objetos es un nuevo
paradigma o modelo de programación.
La Programación Orientada a Objetos se basa en la
idea natural de la existencia de un

mundo lleno de objetos, de


modo que la resolución del
problema se realiza en
términos de objetos. Estos
objetos poseen características
(atributos) y tienen un
comportamiento (métodos).
¿Qué es un Paradigma?

Un paradigma es una forma


establecida de pensar acerca
de cómo hacer algo.
Es un conjunto de teorías,
estándares y métodos
que juntos representan un medio
de organización del
conocimiento.
Es una forma de visualizar el mundo.
En el ámbito de la programación, un programa orientado a objetos está
constituido por un conjunto de objetos interactuando conjuntamente a
través del paso de mensajes, los cuales permiten hacer la entrada de datos,
los cálculos necesarios para resolver el problema y dar la salida de datos,
convertidos en la información solicitada.

objeto 1 objeto 2

objeto 3 objeto 4 objeto 5

objeto 6 objeto 7
En el mundo real, las personas identifican los
objetos como las cosas que pueden ser percibidas
por los cinco sentidos. Por ejemplo: Una
computadora, un teléfono celular, un árbol, un
perro o un automóvil.

Los objetos tienen


características específicas
tales como tamaño, color,
forma, textura, etc. y
también tienen ciertos
comportamientos que los
hacen diferentes a otros
objetos.
Ejemplos:
Los automóviles tienen características o atributos
(marca, modelo, año, color, capacidad, placa,
volante, acelerador, frenos, switchera, palanca de
cambios etc.) y comportamiento (encender,
arrancar, acelerar, retroceder, cruzar izquierda,
cruzar derecha, detenerse).

Los ratones (mouses) tienen


características o atributos
(botones, rueditas, sensor
óptico, etc.) y
comportamiento (avanzar,
retroceder, girar, seleccionar,
etc.).
Un objeto posee:
Estado, Comportamiento, Identidad.
Un objeto posee estado
El estado de un objeto se refiere al conjunto de
los valores de sus atributos en un momento
dado. El comportamiento de un objeto puede
modificar el estado de este.

Atributos
Edad: 35
Dra. Juanita Peso: 70 kg.
Pérez Altura: 1.60 mts.
Domicilio: Calle Falsa 123
Titulo: Doctora
Un objeto posee Comportamiento

El comportamiento de un objeto está


determinado por las operaciones que éste
puede realizar en respuesta a mensajes
(peticiones), que le son enviados por otros
objetos.
Se implementa mediante métodos.

Cambiar de
Cumpleaños Comer Domicilio
Un objeto posee Identidad:
La identidad es la propiedad que permite a un objeto diferenciarse
de otros.
Cada objeto es único en el mundo por más que haya otro objeto
con iguales atributos. Por ejemplo, cada Dra. tiene su propia
identificación.
Un objeto en POO, representa alguna entidad de la vida real, es decir, alguno
de los objetos que pertenecen al negocio con que estamos trabajando o al
problema con el que nos estamos enfrentando.

Los Objetos de Software, al igual que los objetos del mundo real, también
tienen características y comportamientos.

Un objeto de software mantiene sus características en una o más "variables"


o "atributos" e implementa su comportamiento con "métodos". Un método
es una función o subrutina asociada a un objeto.
Criterios para clasificar objetos en POO:

Cosas tangibles (mesa, carro, avión)

Organizaciones (empresa, departamentos, divisiones)

Incidentes (representa un suceso, por ejemplo: vuelo, accidente, transacción)

Papeles o roles (cliente, empleado, médico)

Interacciones (compras, ventas)

Lugares (ciudad, muelle de carga, sala de embarque)


Objeto: Cuenta Ahorro

número
titular
fecha_apertura
saldo
Una clase define las características y
comportamientos comunes, compartidos por
un grupo de objetos.

En otras palabras, una clase representa a un


conjunto de objetos que tienen en común las
mismas características (atributos) y el mismo
comportamiento (métodos).
En el mundo real existen objetos del mismo tipo, por
ejemplo tu cuenta de ahorro en un banco, es solo una
más de todas las cuentas de ahorro del banco.

Todas las cuentas de ahorro tienen los atributos:


número, titular, fecha apertura, saldo y algunos
métodos como son: Aperturar, Depositar, Retirar y
Cerrar. Por lo tanto, se puede definir la clase
“Cuenta_Ahorro”, que describe los atributos y
comportamiento de todas las cuentas.

Al referirse a una cuenta en particular, por ejemplo, tu


cuenta de ahorro, se puede decir que ella es un objeto
de la clase “Cuenta_Ahorro”.
Las clases son modelos o plantillas que describen como se construyen uno o
más objetos del mismo tipo.
Cada vez que se construye un objeto de una clase, se crea una instancia de esa
clase ("instance“), por lo tanto, una clase puede tener muchas instancias y cada
una es un objeto diferente.
Un objeto es un simple elemento. Una clase, por el contrario, describe una
familia de elementos similares.
Cuando programamos un objeto y definimos sus características y
funcionalidades, en realidad lo que se esta haciendo, es programando una
clase.
Los objetos se activan mediante la
recepción de mensajes.
La interacción entre objetos se produce mediante
mensajes. Un mensaje es una petición dirigida a un
objeto, que le ordena que ejecute uno de sus métodos.
Un mensaje está compuesto por
los siguientes tres elementos:
El objeto receptor, hacia el cual el mensaje es enviado.
El nombre del método que el objeto receptor del mensaje
ejecutará.
Cualquier información adicional requerida por el objeto
receptor para ejecutar el método solicitado (parámetros).
Objeto Objeto
persona bicicleta
interacción

Mensaje Mensaje
(método) (método)

Girar (derecha) Girar (izquierda)


Abstracción

Encapsulamiento

POO
Ocultamiento de Datos

Herencia

Polimorfismo
“Técnica que permite reconocer los
elementos esenciales para la solución
de un problema dejando al lado los
detalles irrelevantes”.
La abstracción consiste en captar las
Abstracción características esenciales de un objeto,
así como su comportamiento, al tiempo
que se ignoran los detalles no
esenciales.

El encapsulamiento es la propiedad que


permite agrupar juntos en una única
unidad de programación, las
Encapsulamiento características (atributos) y
comportamiento (métodos) de un objeto.
En POO, las clases son las unidades de
programación que encapsulan atributos y
métodos.
Los atributos (datos) de un objeto deben ser
privados, es decir, no pueden ser
Ocultación de modificados ni obtenidos por otros objetos,
datos solamente pueden ser manipulados por los
propios métodos internos del objeto.

Es la propiedad que permite definir nuevas


clases a partir de una clase base ya existente.
Las nuevas clases creadas se denominan
Herencia clases derivadas (clases hijos ó subclases) y
heredan los atributos y métodos de la clase
base (clase padre ó superclase), además,
estas clases derivadas pueden tener otros
atributos y métodos propios, adicionales.

Es una propiedad que permite que diversos


Polimorfismo objetos respondan de modo diferente al
mismo mensaje.
METODOLOGÍA PARA
LA RESOLUCIÓN DE PROBLEMAS OO

Metodología: es un conjunto de métodos utilizados en la


investigación científica.
Método: es un modo ordenado y estructurado de hacer
las cosas.
El proceso de la Resolución de un Problema con la
computadora conduce a la escritura de un programa y a
su posterior ejecución.
MÉTODO PARA EL DESARROLLO OO
ANÁLISIS OO DISEÑO OO
1° FASE 2° FASE
Es un método de Es un método de
análisis que examina diseño que abarca el
METODOLOGÍA
los requisitos desde proceso de
ORIENTADA A
las perspectiva de las descomposición OO y
OBJETOS
clases y objetos que una notación para
se encuentran en el describir los modelos
vocabulario del del sistema que se
dominio del problema diseña.

PROGRAMACIÓN OO
3° FASE UNIFORMIDAD

Es un método de implementación en el COMPRENSIÓN


que los programas se organizan como CARACTERISTICAS
DEL PROCESO FLEXIBILIDAD
colecciones cooperativas de objetos,
cada uno de los cuales representa una ESTABILIDAD
instancia de alguna clase y todas estas REUSABILIDAD
clases son miembros de una jerarquía
de clases unidas mediante una relación
de herencia
MÉTODO PARA EL DESARROLLO OO

1ª FASE: ANÁLISIS ORIENTADO A OBJETO (AOO)

En esta fase se encuentran los tipos de objetos


del mundo real que están presentes en el
dominio del problema, determinando sus
características (atributos), su comportamiento
(métodos) e interacciones (con otras clases de
objetos).
MÉTODO PARA EL DESARROLLO OO

1ª FASE: ANÁLISIS ORIENTADO A OBJETO (AOO)

Para realizar el AOO, se debe cumplir con estas etapas:


1. Subrayado de nombres y verbos
2. Asignación de Responsabilidades determinando atributos
y métodos.
3. Definir la lógica de programación de los métodos.
4. Caracterizar las relaciones entre clases y objetos.
MÉTODO PARA EL DESARROLLO OO
1ª FASE: ANÁLISIS ORIENTADO A OBJETO (AOO)
1. Subrayado de nombres y verbos 2. Asignación de Responsabilidades

Leer la descripción del problema y Las responsabilidades se dividen en la


subrayar los nombres y los verbos. información que debe tener (atributos)
y las operaciones que debe realizar
Los nombres son candidatos a Clases
(métodos)
o atributos de clases.
Los verbos son candidatos a Métodos.

3. Lógica de Programación de los 4. Establecer las relaciones


métodos
En esta etapa se analizan las
relaciones entre clases y el modo en
Se determina el tipo de estructura de que éstas se convierten en una
control que se utilizará en la lógica de implementación.
programación y se describen los
métodos de cálculo. Las estructuras de
control son Secuenciales, Selectivas y
Repetitivas.
MÉTODO PARA EL DESARROLLO OO
2ª FASE: DISEÑO ORIENTADO A OBJETO (DOO)
Es el proceso de configuración mental previo, en la búsqueda de la solución a
un problema.
Pretende responder a la pregunta ¿Cómo lo hace?
Para realizar el DOO, se debe establecer:
1. El tipo de dato a que corresponden los atributos de las clases.
2. Si los métodos deben retornar un valor o si necesitan de datos adicionales
(parámetros) para cumplir con su responsabilidad.
Una vez determinada esta
información se vacía en una plantilla
de diseño de clase.
MÉTODO PARA EL DESARROLLO OO
3ª FASE: IMPLEMENTACIÓN ORIENTADO A
OBJETO (IOO)

Es el proceso de transcribir un algoritmo utilizando un


lenguaje de programación.
Consiste en traducir el modelo construido en las fases de
Análisis y Diseño en el programa que dará solución al
problema planteado.
EJEMPLO APLICANDO LA METODOGÍA OO
Realizar el siguiente ejercicio aplicando la metodología orientada a objeto:
Una calculadora acepta 2 números enteros, calcular la suma.

FASE 1. ANÁLISIS ORIENTADO A OBJETO


Paso 1. Subrayar nombres y verbos.
Una calculadora acepta 2 números enteros (numero1 y numero2), calcular la suma (para
nuestro caso: Sumar).

Aplicando los criterios anteriores vamos a determinar los Objetos y sus operaciones,
subrrayando en Marrón los nombres y en azul las acciones.

Paso 2. Asignar responsabilidades. Paso 3. Lógica de programación y


Elemento Responsabilidad métodos de cálculo
Calculadora -------- > Clase Estructura de Control Secuencial
Numero1 -------- > Atributo de Calculadora
Numero2 -------- > Atributo de Calculadora Leer los atributos del objeto
Sumar() -------- > Método de Calculadora. Realizar la suma de los atributos
AsignarNumero1 -------- > Método de Calculadora. Retornar el resultado
ObtenerNumero1 -------- > Método de Calculadora. Donde: Sumar = Numero1 + Numero2
AsignarNumero2 -------- > Método de Calculadora.
ObtenerNumero2 -------- > Método de Calculadora.

Paso 4. Caracterización de Relaciones


Como definimos una sola clase, no existen relaciones.
EJEMPLO APLICANDO LA METODOGÍA OO

FASE 2. DISEÑO ORIENTADO A OBJETO

Plantillas de la clase identificada

Calculadora
entero Numero1
entero Numero2

AsignarNumero1 (entero)
entero ObtenerNumero1 ()
AsignarNumero2 (entero)
entero ObtenerNumero2 ()
entero Sumar ()
EJEMPLO APLICANDO LA METODOGÍA OO

FASE 3. IMPLEMENTACIÓN ORIENTADOA A OBJETO

Definición de clases

clase Calculadora
inicio
privado:
entero Numero1, Numero2
publico:
AsignarNumero1 (entero Num1)
entero ObtenerNumero1 ( )
AsignarNumero2 (entero Num2)
entero ObtenerNumero2 ( )
entero Sumar ( )
fin
• Joyanes, L. 2006. Programación en C++. Algoritmos, estructuras de
datos y objetos. 2a Edición. Mc Graw Hill, Interamericana de España,
S.A.U.

En este texto se encuentra de forma detallada casi todo el contenido de la


unidad.

• IZQUIERDO, L. 2007. Introducción a la Programación


Orientada a Objetos.

http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf
• BUJANDA L. 2004. Introducción a la Programación
Orientada a Objetos utilizando C++. Trabajo de Ascenso.
• Díaz, R. 2010. Lineamiento para la programación orientada a objetos,
utilizando la arquitectura modelo vista controlador y el lenguaje C++

También podría gustarte