Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software 1Ing. Elías Cisneros
cisneros.elias@gmail.com
República Bolivariana de Venezuela
Fundación Misión Sucre
Aldea Fray Pedro de Agreda
Desarrollo de Software
Trimestre I
Fundamentos de Programación Orientada 
a Objetos ( POO ) ­ Parte 2
Desarrollo de Software
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
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.
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.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Clase Carro
Atributos
Marca
Color
Modelo
Peso
Métodos
Encender
Apagar
Avanzar
Detener
Girar izquierda
Girar derecha
Ejemplo para clase CarroEjemplo para clase Carro
Diferentes modelos del término carro.
• Un carro es la combinación (o composición) de diferentes partes, tales como
motor, carrocería, cuatro ruedas, cinco puertas, etc.
• Un carro es un concepto común para diferentes tipos de carros. Pueden
clasificarse por el nombre del fabricante (Audi, BMW, SEAT, Toyota, Chrisler...), por
su categoría (turismo, deportivo, todoterreno...), por el carburante que utilizan
(gasolina, gasoil, gas, híbrido...) entre otros.
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
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
¿Qué tipos de cosas son objetos en los programas¿Qué tipos de cosas son objetos en los programas
orientados a objetos?orientados a objetos?
•Automóviles
•Personas
•Estudiantes
•Polígonos
•Impresoras
•Aviones
•Joystick
•Trenes
•Vendedores
•Clientes.
• Todo !!!
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
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Ejemplo para clase PersonaEjemplo para clase Persona
Atributos
Nombre
Apellido
Sexo
C.I
Teléfono
Métodos
Respirar
Caminar
Hablar
Escuchar
Dormir
Clase Persona
La clase Persona es una plantilla
para definir objetos que poseen
los mismos atributos y métodos.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Organización típica de una programa orientadoOrganización típica de una programa orientado
a objetosa objetos
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
Pilares fundamentales de la programaciónPilares fundamentales de la programación
orientadada a objetosorientadada a objetos
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
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.
Ing. Juan Cisneros
juanv.cisneros@gmail.com
Desarrollo de Software Ing. Elías Cisneros
cisneros.elias@gmail.com
EjerciciosEjercicios
Definir atributos y métodos para las siguientes categorias o clases:
●
Libro
●
Asignatura
●
Animal
●
Ciudad
●
Celular

Desarrollo de Software fundamentos POO 2da Parte subido JHS