Está en la página 1de 9

Carrera: Ingeniería de Sistemas

Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

Paradigma Orientado a Objetos Sesión 01

Curso: Programación Orientada a Objetos I


Docente: Mg. Zoraida Yanet Vidal Melgarejo.

El paradigma orientado a objetos. -2-

• Es muy importante destacar que cuando hacemos


referencia a la programación orientada a objetos no
estamos hablando de unas cuantas características nuevas
añadidas a un lenguaje de programación.

• Estamos hablando de una nueva forma de pensar acerca


del proceso de descomposición de problemas y de
desarrollo de soluciones de programación.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 1 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

El paradigma orientado a objetos. -3-

• La programación orientada a objetos surge en la historia como un intento para dominar la


complejidad que, de forma innata, posee el software. Tradicionalmente, la forma de enfrentarse a
esta complejidad ha sido empleando lo que llamamos programación estructurada, que
consiste en descomponer el problema objeto de resolución en subproblemas y más
subproblemas hasta llegar a acciones muy simples y fáciles de codificar. Se trata de descomponer
el problema en acciones, en verbos. En el ejemplo de un programa que resuelva ecuaciones de
segundo grado, descomponíamos el problema en las siguientes acciones: primero, pedir el valor
de los coeficientes a, b y c; después, calcular el valor del discriminante; y por último, en función
del signo del discriminante, calcular ninguna, una o dos raíces.

• Como podemos ver, descomponíamos el problema en acciones, en verbos; por ejemplo el verbo
pedir, el verbo hallar, el verbo comprobar, el verbo calcular.

El paradigma orientado a objetos. -4-

• La programación orientada a objetos es otra forma de descomponer problemas. Este nuevo


método de descomposición es la descomposición en objetos; vamos a fijarnos no en lo que hay
que hacer en el problema, sino en cuál es el escenario real del mismo, y vamos a intentar simular
ese escenario en nuestro programa.

• Los lenguajes de programación tradicionales no orientados a objetos, como C, Pascal, BASIC, o


Modula-2, basan su funcionamiento en el concepto de procedimiento o función. Una función es
simplemente un conjunto de instrucciones que operan sobre unos argumentos y producen un
resultado. De este modo, un programa no es más que una sucesión de llamadas a funciones, ya
sean éstas del sistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por el
mismo usuario.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 2 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

El paradigma orientado a objetos. -5-

• En el caso de los lenguajes orientados a objetos,


como es el caso de C++ y Java, el elemento básico no
es la función, sino un ente denominado precisamente
objeto.

• Un objeto es la representación en un programa de un


concepto, y contiene toda la información necesaria
para abstraerlo: datos que describen sus atributos y
operaciones (métodos) que pueden realizarse sobre
los mismos.

El paradigma orientado a objetos. -6-

• Dentro del paradigma de desarrollo de aplicaciones orientadas a objetos cambia el enfoque de la


solución. Lo importante para el paradigma estructurado es el bloque de código principal. Para el
paradigma orientado a objetos lo principal es entender y modelar el problema, y luego sí definir
el bloque de código principal que empleando el modelo definido brinde solución al problema
específico.

¿Qué significa modelar?

• Un modelo es una representación simplificada. Incluye características que se consideran


importantes para el que lo usa, a la vez que desecha otras que no lo son. Por ejemplo, un modelo
de coche de plástico para niños muestra los detalles del exterior y de las ruedas, pero obvia por
completo el motor y la transmisión. Una versión más sofisticada puede incluir un motor que
funcione y unos detalles más realistas en el interior. Por supuesto, cuanto más realista y
detallado sea un modelo, más costosa será su creación.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 3 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

El paradigma orientado a objetos. -7-

• Todos los modelos, ya representen al mundo real, ya a uno hipotético, comparten las siguientes
características:

o Los elementos del modelo representan otras entidades más complejas.

o Estos elementos exhiben un comportamiento consistente.

o Los elementos del modelo se pueden agrupar en categorías diferentes basándose en su


comportamiento común.

o Acciones externas sobre los elementos del modelo les hacen exhibir el comportamiento
asociado a los mismos.

El paradigma orientado a objetos. -8-

• La programación orientada a objetos (POO) requiere inicialmente identificar y modelar cada uno
de los entes que hace parte del problema. Facilita la comprensión del tema hacerse una imagen
mental de una posible situación.

• Los elementos del modelo en los programas orientados a objetos se llaman objetos. Los objetos
que comparten cierto comportamiento se pueden agrupar en distintas categorías llamadas
clases.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 4 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

1. Programación Orientada a Objetos. -9-

• Es un paradigma de programación que define los programas


en términos de objetos.
• Los objetos son entidades con estado (atributos) y
comportamiento (métodos).
• Un programa es un conjunto de objetos comunicándose para
realizar tareas.
• Facilitan el mantenimiento y reutilización.

1. Programación Orientada a Objetos. - 10 -

• Un objeto no es más que un conjunto de variables (o atributos) y comportamientos (o


métodos) relacionados entre sí. Los objetos en programación se usan para modelar objetos o
entidades del mundo real (el objeto persona, casa, o libro, por ejemplo). Un objeto es, por
tanto, la representación en un programa de un concepto, y contiene toda la información
necesaria para abstraerlo: datos que describen sus atributos y métodos u operaciones que
pueden realizarse sobre los mismos.

Figura N° 1. Representación visual


de un objeto.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 5 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

1. Programación Orientada a Objetos. - 11 -

• Objeto es el concepto clave de la Programación Orientada a


Objetos, la idea de objeto es similar a la del mundo real, un
objeto puede ser una silla, una mesa. Un perro es un objeto.

• Los objetos tienen dos características: Un estado y un


comportamiento. Por ejemplo: un perro tiene un estado:
nombre, color, raza, altura, etc., y un comportamiento: ladrar,
cavar pozo, llorar, dormir, comer, etc.

• Un auto es un objeto. También tiene un estado: color, año de


fabricación, número de puertas, etc., y un comportamiento:
encender, acelerar, frenar, subir cambio, bajar cambio, girar
izq., girar der., etc.

1. Programación Orientada a Objetos. - 12 -

• Una clase es algo abstracto que define la "forma" del objeto, se


podría hablar de la clase como el molde de los objetos.

• En el mundo real existen objetos del mismo tipo, por ejemplo


su computadora es sólo una más de todas las computadoras
del mundo. Entonces diríamos que su computadora es una
instancia de la clase “Computadora". Todas las computadoras
tienen los atributos: color, tipo de procesador, dueño y
métodos: encender, apagar, hibernar, reiniciar.

• Las fabricas de computadoras utilizan moldes para producir


sus productos en serie, de la misma forma en POO se utiliza la
clase (molde) para producir sus instancias (objetos).

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 6 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

1. Programación Orientada a Objetos. - 13 -

Características Básicas:
• Abstracción
• Encapsulamiento
• Modularidad
• Jerarquía
• Polimorfismo

1.1. Abstracción. - 14 -

• Consiste en representar características


esenciales de un objeto sin preocuparse de
las restantes características.

• Proporciona una visión externa, sin


inspeccionar la implementación.

• Ejemplo: La especificación de una Clase,


como descripción abstracta datos y
operaciones a realizar.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 7 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

1.2. Encapsulación. - 15 -

• Se define como la ocultación de información al


“mundo exterior”.

• Consiste en ocultar todo lo secreto de un objeto que


no contribuye a sus características esenciales.

• Está vinculado a la división modular.

• Cada módulo representa la encapsulación de una


abstracción:
• interfaz como vista externa.
• implementación como vista interna.

1.3. Modularidad. - 16 -

• Consiste en dividir una aplicación en partes


más pequeñas.

• Se busca que los módulos sean


independientes (lo máximo posible).

• Permite la descomposición en módulos


fuertemente cohesionados y débilmente
acoplados.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 8 -


Carrera: Ingeniería de Sistemas
Universidad Nacional de Trujillo Curso: Tecnología de la Programación I

1.4. Jerarquía. - 17 -

• Consiste en una ordenación de las abstracciones.


• Estructuras de clases en herencia:
• relación es-un.
• jerarquías de especialización/generalización:
Herencia.

• Estructuras de objetos en relación de


agregación
• relación parte-de: composición
• Ejemplo: un coche compuesto de motor,
rueda y puerta.

1.5. Polimorfismo. - 18 -

• Una entidad toma muchas formas. Permite referirse a


objetos de clases distintas mediante el mismo elemento
de programa.

• Consiste en realizar la misma operación de diferentes


formas según sea el objeto que referencia en ese
momento.

• Ligadura dinámica.

• Ejemplo: un perro, un gato y una vaca son animales,


pueden ser manejados como tal; y todos pueden emitir
sonidos, aunque cada uno tiene un sonido particular.

Docente: Ms. Zoraida Yanet Vidal Melgarejo Página - 9 -

También podría gustarte