3. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
¿Qué es la programación orientada a objetos?¿Qué es la programación orientada a objetos?
“Un método de implementación en el que los los programas se organizan como
colecciones cooperativas de objetos, cada uno de los cuales representan una
instancia de alguna clase, cuyas clases son todas miembros de una jerarquia de
clases unidas mediante relaciones de herencia Grady Booch”
Cuando escribe un programa de computación en un lenguaje orientado a objetos
esta creando en su computadora un modelo de alguna parte del mundo real. Las
partes con que se construye el modelo provienen de los objetos que aparecen en
el dominio del problema.
Los programas orientados a objetos constan de objetos, los objetos
de un programa se comunican con cada uno de los restantes
pasando mensajes.
4. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Conceptos fundamentales de la POOConceptos fundamentales de la POO
Clase
Definición de las propiedades y comportamiento de un tipo de objeto concreto. Una clase
contiene una completa y detallada descripción de la información y las métodos que contendrá
cada objeto de esa clase. Las clases se pueden ver como una generalización de una
categoria. Las clases son tipos de datos definidos por el programador y pueden ser
utilizados de igual manera que los tipos de datos propios del C++, tales como int o float. Una
clase es una plantilla que define atributos y métodos que son comunes para todos los
objetos de un cierto tipo.
Cada clase contiene :
• Atributos (datos miembro o campos), los cuales especifican las propiedades de los
objetos, expresan el estado del objeto.
• Métodos (funciones miembro o métodos), mediante los cuales se modela su
comportamiento y las acciones que puede realizar. Se utilizan en el intercambio de mensajes
o comunicación con otros objetos.
6. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Objetos
Entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos) los mismos que consecuentemente
reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos
rodea, o a objetos internos del sistema (del programa). Es una instancia a una
clase.
El objeto es el centro de la programación orientada a objetos. Un objeto es algo
que se visualiza, se utiliza y juega un rol o papel. Si se programa con enfoque
orientado a objetos, se intentan descubrir e implementar los objetos que juegan un
rol en el dominio del problema.
Conceptos fundamentales de la POOConceptos fundamentales de la POO
8. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o
a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto
se define como sus características predeterminadas, y cuyo valor puede ser
alterado por la ejecución de algún método.
Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de
vista del comportamiento, es lo que el objeto puede hacer. Un método puede
producir un cambio en las propiedades del objeto, o la generación de un "evento"
con un nuevo mensaje para otro objeto del sistema.
Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute uno
de sus métodos con ciertos parámetros asociados al evento que lo generó.
Conceptos fundamentales de la POOConceptos fundamentales de la POO
12. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Carácteristicas de la programación orientada a objetosCarácteristicas de la programación orientada a objetos
Abstracción: La abstracción es la propiedad de los objetos que consiste en tener en cuenta
sólo los aspectos más importantes desde un punto de vista determinado y no tener en cuenta
los restantes aspectos. El término abstracción que se suele utilizar en programación se
refiere al hecho de diferenciar entre las propiedades externas de una entidad y los detalles de
la composición interna de dicha entidad. Es la abstracción la que permite ignorar los detalles
internos de un dispositivo complejo tal como una computadora, un automóvil, una lavadora o
un horno de microondas, etc., y usarlo como una única unidad comprensible. La abstracción
posee diversos grados de complejidad que se denominan niveles de abstracción que ayudan
a estructurar la complejidad intrínseca que poseen los sistemas del mundo real.
Edificios
Carros
Personas
Autobuses
Semáforos
Abstracción
Extraemos
los objetos
13. Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Carácteristicas de la programación orientada a objetosCarácteristicas de la programación orientada a objetos
Encapsulación de datos: es el proceso de agrupar datos y operaciones relacionadas bajo la
misma unidad de programación. En el caso de los objetos que poseen las mismas
características y comportamiento se agrupan en clases, que no son más que unidades o
módulos de programación que encapsulan datos y operaciones.
La ocultación de datos permite separar el aspecto de un componente, definido por su interfaz
con el exterior, de sus detalles internos de implementación.
El diseño de un programa orientado a objetos contiene, al menos, los siguientes pasos;
1. Identificar los objetos del sistema.
2. Agrupar en clases a todos objetos que tengan características y comportamiento
comunes.
3. Identificar los datos (atributos) y operaciones (métodos) de cada una de las clases.
4. Identificar las relaciones que pueden existir entre las clases.