Sie sind auf Seite 1von 23

Programación Orientada a

Objetos

Introducción
César Julio Bustacara Medina

Facultad de Ingeniería
Pontificia Universidad Javeriana

27/01/2016 1
Programación Orientada a Objetos
• POO es un conjunto de técnicas que pueden
utilizarse para desarrollar programas
eficientemente.
• Los objetos son los elementos principales de
construcción.
• La Orientación a Objetos (OO) es el estilo
dominante de programación, descripción y
modelado de hoy en día.

2
Programación Orientada a Objetos
DEFINICION
• “Un método de implementación en el que los
programas se organizan como colecciones
cooperativas de objetos, cada uno de los
cuales representa una instancia de alguna
clase y cuyas clases son todas miembros de
una jerarquía de clases unidas mediante
relaciones”
Grady Booch

3
El modelo de Objetos
• Objetos en el mundo • Mensajes
real • Constructores
– Atributos • Destructor
– Propiedades
• Herencia
– Métodos
– Simple
• Abstracción – Múltiple
• Clases y Objetos
• Encapsulamiento

4
Objetos en el mundo real

Los objetos poseen características que los distinguen entre sí.


Los objetos tienen acciones asociadas a ellos.

5
Ejemplo: PERRO

Características:
• Nombre: “FIDO”
• Raza: “Chihuahua”
• Color: “Café”
• ….etc…
Acciones:
Ladrar [“Guau Guau”]
Comer [“Chomp Chomp”]
Dormir [“Zzzzzzzz”]
…etc…

6
¿Cómo modelar un objeto real en
un programa?
Las “características” son ATRIBUTOS o datos.
Las “acciones” son MÉTODOS u operaciones.

FIDO: Perro
Nombre: FIDO
Raza: Chihuahua
Color: Café
Ladrar()
Comer()
Dormir()

Objeto Perro “Real” Abstracción de un objeto “Perro” en software

7
Objetos
• 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, …).

8
Objetos
• Ejemplos: Estudiante, Profesor, 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.

9
Objetos
Pertenece a una
Todos los objetos Valor de sus
características
Acciones que
puede realizar clase y tiene un
(Atributos) Nombre único
tienen: (Métodos)

• Estado
• Comportamiento
• Identidad

10
Abstracción
La abstracción se centra en las características
esenciales de algún objeto, en relación a la
perspectiva del observador.

11
Abstracción
Se refiere a “quitar” atributos, propiedades y
métodos de un objeto y quedarse solo con
aquellos que sean necesarios (relevantes para el
problema a solucionar).
FIDO: Perro
Nombre: FIDO
Raza: Chihuahua
Color: Café
Objeto Perro “Real”: Ladrar()
Características o atributos: Comer()
(Nombre, Raza, Color, Edad, Tamaño, etc.) Dormir()
Acciones o métodos:
(Ladrar, Comer, Dormir, Jugar, Caminar, etc.)
12
Abstracción
• Las clases y objetos deben estar al nivel de
abstracción adecuado: ni demasiado alto ni
demasiado bajo.

13
Ejercicio
• Deducir los objetos necesarios para diseñar un
programa con diferentes juegos de cartas.

14
Ejercicio No.1
• Definir la clase Fecha, con valores para el día
del mes, el mes y el año. Todos son valores
naturales guardados en atributos. Hay que
ofrecer los siguientes métodos:
– actualizar los tres campos de la fecha. Hay que
confirmar que la fecha sea correcta.
– escribir la fecha en formato “24 de febrero de
2.016”.
– pasar al siguiente día.
15
Ejercicio No.2
• Diseñar la clase Fracción, que representa el conjunto de los números
racionales. Un número racional se representa por un numerador, que es
un número entero y un denominador, que es un número natural. Esta
clase debe ofrecer mínimo los siguientes métodos:
– consulta del numerador. Devuelve un número entero.
– consulta del denominador. Devuelve un número natural.
– equivalencia en valor real.
– asignación de valores al numerador y el denominador. Este método tiene dos parámetros de tipo
entero, que representan los nuevos valores para el numerador y el denominador. Este método tiene
que asignar valores a los atributos tales que el número se guarde de forma irreducible. Reglas de
reducción: el signo del número racional se guarda en el numerador, por lo que si el signo del valor
que se pasa como parámetro para el denominador es negativo, hay que cambiarlo. Si el valor que se
pasa como parámetro para el denominador es 0, se considera un error y no se actualiza ninguno de
los dos valores. El valor final de los atributos numerador y denominador deben ser primos entre sí.
– operaciones aritméticas simples (suma, resta, producto y división). Todas estas operaciones se
aplican a un objeto de la clase Fracción, que representa el primer operando, y tienen un parámetro,
también de la clase Fracción, que representa el segundo operando. Devuelven un valor de la clase
Fracción que corresponde al resultado de la operación.

16
Ejercicio No.3
• Diseñar un clase que corresponda a un control de velocidad. Este control,
entre otras tareas, registra la velocidad actual de un vehículo y hace saltar
una alarma cuando se pasa de un valor máximo establecido, que es
constante e igual para todos los objetos de la clase. También se guarda la
mayor velocidad alcanzada por el vehículo. Los métodos públicos de la
clase son los siguientes:
– consulta de la velocidad actual.
– consulta del valor máximo histórico de la velocidad.
– consulta del estado de la alarma
– método para incrementar la velocidad en un valor que se pasa como un parámetro de
tipo natural. Si al intentar incrementar la velocidad se sobrepasa el límite, la velocidad se
establece a la máxima permitida y se activa la alarma.
– método para disminuir la velocidad en un valor. La velocidad no puede ser negativa.
– borrado de la alarma. La alarma sólo se puede borrar cuando la velocidad actual sea 0.
También se pone a 0 la velocidad máxima histórica.

17
Ejercicio No.4
• Diseñar una clase que simule una calculadora
simple y que lea 2 enteros y un carácter. Si el
carácter es un signo +, debe imprimir la suma;
si es un signo −, la diferencia; si es ∗, el
producto; si es /, el cociente; y si es %, el
resto.

18
Ejercicio No.5
• Representar una clase ascensor que tenga
funciones de subir, bajar, parar entre niveles,
alarma de sobrecarga y botones de llamada en
cada nivel para subir o bajar.

19
Ejercicio No.6
• Construir una clase llamada luz que simule un
semáforo; con un atributo color que debe
cambiar entre verde, amarillo y rojo en ese
orden mediante la función cambio; cuando un
objeto luz se cree su color inicial debe ser rojo.

20
Ejercicio No.7
• Construir una definición de clase que se pueda
utilizar para representar un empleado de una
compañía, definido por un número entero ID, un
salario y el número máximo de horas de trabajo
por semana. Los servicios que la clase debe
proporcionar deben permitir ingresar datos de un
nuevo empleado, visualizar sus datos existentes y
tener capacidad para procesar las operaciones
necesarias para dar de alta o baja en la seguridad
social y en los seguros contratados por la
compañía.

21
Ejercicio No.8
• Crear una clase que describa un rectángulo
que se pueda visualizar en pantalla, cambiar
de tamaño, modificar color de fondo y de los
lados.

22
Ejercicio No.9
• Determinar los atributos y operaciones que
pueden ser de interés para los siguientes
objetos, suponiendo que serán elementos de
un almacén de regalos: libro, disco, grabadora
de video, cinta de video, televisor, radio,
tostadora de pan, cadena de música,
calculadora y teléfono celular o móvil.

23

Das könnte Ihnen auch gefallen