Académique Documents
Professionnel Documents
Culture Documents
UNIDAD I:
En POO, las entidades centrales son los objetos, que son tipos de datos que encapsulan
con el mismo nombre estructuras de datos y las operaciones o algoritmos que manipulan
esos datos.
Objetos:
La orientación a objetos trata de cumplir las necesidades de los usuarios finales, así como
las propias de los desarrolladores de productos software. Estas tareas se realizan
mediante la modelización del mundo real. El soporte fundamental es el modelo de objeto.
Abstracción
Encapsulamiento
Modularidad
Jerarquía
Abstracción
El elemento clave de la POO es la clase. Una clase se puede definir como una descripción
abstracta de un grupo de objetos, cada uno de los cuales se diferencia por su estado
específico y por la posibilidad de realizar una serie de operaciones. Por ejemplo una pluma
estilográfica es un objeto que tiene un estado (llena de tinta o vacía) y sobre la cual se
pueden realizar algunas operaciones (escribir, poner o quitar el capuchón, llenar de tinta
si está vacía).
Encapsulamiento
Modularidad
Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas
módulos), cada una las cuales debe ser tan independiente como sea posible de la
aplicación en si y de las restantes partes.
Jerarquia
Es la propiedad que permite una ordenación de las abstracciones. Las dos jerarquías más
importantes de un sistema complejo son: estructura de clases (jerarquía es-un (is a):
generalización/especialización) y estructura de objetos (jerarquía parte –de (part-of):
agregación).
El objeto
¿Qué clase de cosas puede ser objetos en un programa OO? La respuesta solo se limita a
la imaginación. Ejemplos típicos:
Objetos Físicos
Aviones en un sistema de tráfico aéreo.
Automóviles en un sistema de control de tráfico terrestre.
Casas.
Animales
Vertebrados
Invertebrados
Pescados
Alimentos
Carnes
Frutas
Pescados
Verduras
Pasteles
Un objeto es una entidad que contiene los atributos que describen el estado de un objeto
del mundo real y las acciones que se asocian con el objeto del mundo real. Se designa por
un nombre o identificador del objeto.
Dentro del contexto de un Lenguaje OO (LOO), un objeto encapsula datos y los
procedimientos/funciones (métodos) que manejan esos datos. La notación grafica varia de
una metodología a otras.
Datos Atributos
Métodos
Métodos
Las características o datos de una clase se denominan atributos del objeto, mientras que
las operaciones o actividades que puede realizar ese objeto son conocidas como métodos.
Una vez identificado los objetos, será preciso identificar los atributos y las operaciones
que actúan sobre ellos. Ejemplo atributos de objetos:
AVION EMPLEADO
Matricula Nombre
Licencia del piloto Numero de identificación
Nombre de avión Salario
Capacidad de carga Dirección
Número de pasajeros Nombre del departamento.
Objeto Coche 1
Atributos Matricula
Marca
Precio
Año compra
Métodos Calcular_Precio_Actual
Métodos y Mensajes
Un POO consiste en un número de objetos que se comunican unos con otros llamando a
funciones miembro. Las funciones miembro se denominan métodos.
Clases
Por consiguiente, los objetos no son más que instancias de una clase. Una instancia es una
variable de tipo objeto.
Ejemplo:
Clase Carro
Atributos Año
Pasajeros
Color
Modelo
Métodos Encender
Apagar
La herencia es la propiedad que permite a los ser construidos a partir de otros objetos., es
decir la capacidad de un objeto para utilizar las estructuras de datos y los métodos
previstos en antepasados o ascendientes. El objetivo final es la reutilización o
reutilizabilidad es decir reutilizar código anteriormente ya desarrollado.
Los objetos con propiedades comunes (atributos y operaciones) se clasifican en una clase.
De igual modo, las clases con propiedades y funciones comunes se agrupan en una
superclase. Las clases que se derivan de una superclase son las subclases. Una clase
hereda sus características (datos y funciones) de otra clase. Esta característica
proporciona un soporte poderoso para reutilización y extensibilidad, dado que la
definición de nuevos objetos se puede basar en clases existentes. Ejemplo:
Jerarquía de herencia
Animal
Persona
Hombre Mujer
La herencia se divide en simple y múltiple:
Un objeto (clase) puede tener solo un ascendiente, o dicho de otro modo, una subclase
puede heredar datos y métodos de una única clase, así como añadir o quitar
comportamientos de la clase base.
Figura Persona
Rectángulo Profesor
Redondeado universitario
Relación de Asociación
Una asociación representa una dependencia entre clase e implica la dirección de esta
dependencia. La asociación es bidireccional aunque puede ser unidimensional si así se
indica expresamente.
Una a una
Una a muchas
Muchas a muchas
Una a una: Implica una relación estrecha entre objetos. Por ejemplo una relación entre
una clase Venta de un producto y la clase operaciónTC que representa la operación o pago
de la venta mediante una tarjeta de crédito.
Venta OperaciónTC
Relación PAIS y CAPITAL. Un país tiene una capital y solo una, y una ciudad que es capital
de un país solo pertenece a un país.
País Capital
Una a muchas: Se puede ver entre las clases PAIS Y CIUDAD. Un país tiene muchas
ciudades, mientras que una ciudad sólo pertenece a un país.
País Ciudad
Línea Punto
Muchas a muchas: implica que una instancia de una clase puede corresponder con
muchas instancias de otra clase y viceversa. La clase ESTUDIANTE – ASIGNATURA , un
estudiante puede estar matriculado en muchas asignaturas y en una asignatura
determinada pueden estar matriculados muchos alumnos.
Estudiante Asignatura
Una a muchas
Opcionalidad
Muchas a muchas
una a una
Por ejemplo una casa se compone de habitaciones, tejados, suelos, puertas, ventanas, etc.
Una habitación, a su vez se compone de paredes, techos, suelo, ventanas y puertas.
Casa
Tiene tiene
Habitación Techo
10
Relación de generalización
Representa una relación “un tipo de “. Por ejemplo, una rosa es un tipo de flor,
significando que una rosa es una subclase especializada de la clase general, flor.
Vehículo
Es un Es un
Es un
Auto Camión Bus
Es un Es un Es un
Camioneta Remolque Trailer
Es la propiedad que indica, la posibilidad de que una entidad tome muchas formas. En
términos prácticos permite referirse a objetos de clases diferentes mediante el mismo
elemento de programa y realizar la misma operación de diferentes formas, según sea el
objeto que se referencia en ese momento.
Por ejemplo, cuando se describe la clase mamíferos se puede observar que la operación
comer es una operación fundamental en la vida de los mamíferos, de modo que cada tipo
de mamífero debe poder realizar la operación o función comer. Por otra parte una vaca o
una cabra que pastan en un campo, un niño que se come un bombón o caramelo y un
león que devora a otro animal, son diferentes formas que utilizan los distintos mamíferos
para realizar la misma función (comer).
11
1.5 Notación
CLASE HERENCIA
CLASE
ATRIBUTOS
METODOS
ASOCIACIÓN COMPOSICIÓN
12
Ejemplos
tiene
Microbús Autobús Familiares Deportivo Lujo Camionetas
Parte de
1 1 1-8 1 1 1-n
Motor Chas Ruedas Transmisión Dirección Luces
is
13