Documente Academic
Documente Profesional
Documente Cultură
UTM MMDS-012019
Programación Orientada a Objetos (POO)
Construcción de programas basados en objetos
Razones para utilizarlo:
1. Único camino posible a seguir para la realización de
programas en la actualidad.
2. Grandes cantidades de información a tratar en
todos ellos.
3. Facilidad de comprensión de los programas. El
equipo de personas que intervienen es bastante
numeroso y todos deben de poder utilizar el código
que el resto de miembros del equipo, han realizado
sin tener que complicarse la vida.
4. La reutilización de objetos.
¿Qué es una CLASE?
Es un molde o bien prototipo en donde se definen las
propiedades ó atributos (variables) y las acciones ó
eventos (métodos) comunes de una entidad.
La palabra clase proviene de clasificación. Formar
clases es el acto de clasificar.
• Por ejemplo, todos los coches comparten un mismo
comportamiento (se pueden acelerar, dirigir,
detener,…) y atributos comunes (tienen numserie,
mat, color, motor,…).
Los lenguajes orientados a objetos permiten
descripciones de clases (conjuntos de objetos) que
comparten estructura y comportamiento.
Método
Acción asociada con un objeto , tiene un nombre y puede
tener uno o más parámetros, se deriva de la idea de
tener un método para hacer algo.
¿Qué es un objeto?
• Combinación de ciertos datos (variables) y de
algunas acciones ( métodos).
• Es una instancia de una clase.
• Los objetos se caracterizan por:
• Identidad: Los objetos se distinguen unos de
otros
• Comportamiento: Los objetos pueden realizar
tareas
• Estado: Los objetos contienen información
EJEMPLO:
Estado
Es posible que dos objetos tengan el mismo
estado, pero siguen siendo dos objetos diferentes; por
ejemplo, dos gemelos idénticos tienen exactamente el
mismo estado (su ADN), pero son dos personas
distintas.
Hay que tener cuidado de no confundir un objeto con una
clase, una gelatina de fresa y una gelatina de limón son
objetos de la misma clase (o del mismo molde), pero con
atributos (o sabores) diferentes.
Es el proceso en el cual separamos las propiedades más
importantes de un objeto, de las que no lo son. Es decir,
por medio de la abstracción definimos las características
esenciales de un objeto del mundo real, los atributos y
comportamientos que lo definen como tal, para después
modelarlo en un objeto de software.
Ej. Para crear un programa que represente el sistema solar, por
medio de la abstracción, podemos ver a éste sistema como un
conjunto de objetos, algunos de estos objetos son los planetas, que
tienen un estado, dado por sus características físicas, digamos,
tamaño, masa, entre otras, estos objetos tendrán también
comportamientos : la translación y la rotación, pueden
mencionarse como los más evidentes.
Es la propiedad que nos permite asegurar que la
información de un objeto le es desconocida a los demás
objetos en la aplicación.
Permite definir los atributos y los métodos de una clase
para que los objetos que se instancian de ésta trabajen
como unidades independientes de los demás objetos con
los que interactúan.
La encapsulación incluye dos aspectos importantes:
1. Combinación de datos y funciones en una sola
entidad (módulo).
2. Control de la accesibilidad a los miembros de la
entidad.
Los programas procedurales tradicionales, escritos en
lenguajes como C, contienen fundamentalmente una
gran cantidad de datos y muchas funciones, y cada
función puede acceder a todos los datos, son pensados
para que entienda el sistema informático.
Herencia simple
Herencia múltiple
• Los objetos tienen la posibilidad de actuar, la acción
sucede cuando un objeto recibe un mensaje, que es,
una solicitud que pide al objeto que se comporte de
alguna forma.
• Cuando se ejecutan los programas OO, los objetos
reciben, interpretan y responden a mensajes
procedentes de otros objetos.
• Los procedimientos residen en el objeto y determinan
cómo actúa el objeto cuando recibe un mensaje.
• Es la propiedad por la cual una entidad
puede tomar diferentes formas. Generalmente
está entidad es una clase, y la forma en que
se consigue que tome diferentes formas es por
medio de nombrar a los métodos de dicha
clase con un mismo nombre pero con diferentes
implementaciones (tipo y/o número de
argumentos).
DUDAS…
PREGUNTAS…