Unidad 1. Introduccion A La POO

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 37

Programación de Computadores II

UNIDAD 1:
INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

1.1. Paradigmas de la programación


1.2. Características de la POO
1.3. Conceptos de Programación Orientada a Objetos
1.3.1. Abstracción
1.3.2. Encapsulamiento
1.3.3. Polimorfismo
1.3.4. Herencia
1.3.5. Modularidad
1.4. Clases y Objetos
1.5. Mensajes y Métodos
UNIDAD 1:
OBJETIVOS DE APRENDIZAJE

• Conocer la evolución de los paradigmas de programación, el propósito, y las


características fundamentales de los principales paradigmas de programación.

• Comprender el concepto de Programación Orientada a Objetos, sus principales


características, y su importancia dentro del contexto del desarrollo de software.

• Comprender los conceptos de abstracción, encapsulamiento, polimorfismo, herencia y


modularidad, y su importancia dentro del paradigma de la orientación a objetos.

• Comprender los conceptos de Clases y Objetos, su relación e importancia dentro del


paradigma orientado a objetos.

• Comprender los conceptos de Mensaje y Método, su relación e importancia dentro del


paradigma orientado a objetos.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Paradigmas de Programación: Evolución de las técnicas


de programar
utilización de estructuras de control la idea “Divide y Vencerás ”
básicas
se tiene ahora un programa único
utiliza saltos y rutinas claramente un inicio y un final en los dividido en pequeñas piezas llamadas
entremezcladas. Algoritmos + Datos
prog. = Programas procedimientos

Técnica Insostenible Ejecución de arriba hacia Abajo facilidad en la escritura, lectura y


comprensión de los programas y
Dificultad para mantenimiento y se obtiene un único bloque de evita duplicidad de códigos
depuración programa, que cuando se hace
demasiado grande puede resultar Se facilita la corrección, modificación
Orientada a
Basic, Assembler, Fortran y Cobol problemático su manejo y actualización de código Objetos

Lineal Estructurada Procedimental

Toda la evolución de los lenguajes y técnicas de programación se ha desarrollado en


base a una sola idea conductora: hacer que la tarea de realizar programas para
ordenadores sea cada vez lo más simple, flexible y portable posible.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es?, concepto y


definición.

La P.O.O es un método de La POO es un modelo de La P.O.O se puede definir como una


desarrollo en el cual los programas programación que utiliza objetos, técnica o estilo de programación que
se organizan como colecciones de ligados mediante mensajes, para la utiliza objetos como bloques
objetos que cooperan para resolver solución de problemas. La idea esenciales de construcción. Los
un problema. central es simple: organizar los elementos básicos de la POO son:
componentes del programa a objetos, mensajes, métodos y clases.
Fuente: Vélez, Serrano, José, et al. Diseñar imagen y semejanza de los objetos
y programar, todo es empezar: una en el mundo real Fuente: VELARDE DE BARRAZA, OLINDA y cols.
introducción la Programación Orientada a Introducción a la programación orientada a
Objetos usando UML y Java, Dykinson, objetos. 2006
2011 Fuente: Ceballos, Sierra, Francisco Javier.
Programación orientada a objetos con C++
(4a. ed.), RA-MA Edi.2007
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: cuales son sus


características?
 La Programación Orientada a Objetos es un paradigma de programación que define los
programas en términos de "clases de objetos”, los elementos básicos son: objetos,
mensajes, métodos y clases.

 Al contrario que la programación procedimental que se basa en el interrogante ¿Qué


hace este programa?, el enfoque O.O responde a otro interrogante ¿Qué objetos del
mundo real puede modelar?

 Esto permite hacer los programas y módulos más fáciles de escribir, mantener y
reutilizar.

 Construir software complejos a partir de unidades de software modularizado y


reutilizable

 Crear sistemas fiables que sean flexibles, mantenibles y capaces de evolucionar para
cumplir las necesidades de cambio.

 Reducción de líneas de código


Técnica de programación mas
utilizada en la actualidad.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: principales razones


de su importancias ?

 Permite un alto grado de reutilización de código, gracias


principalmente al mecanismo de herencia.

 Facilita la creación de software de calidad, flexibles y


mantenibles

 Aumento espectacular de L.POO (Lenguajes de Programación


Orientados a Objetos).

 La necesidad de Interfaces de usuario gráficos y visuales.


UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: elementos o


propiedades del paradigma orientado a objetos?

 Los conceptos y herramientas orientados a


Abstracción
objetos son tecnologías / mecanismos que
permiten que los problemas del mundo real
puedan ser expresados de modo fácil y Encapsulamiento
natural en código.
Modularidad
 Los cuatro elementos (propiedades) más
importantes de este modelo de
programación son: Jerarquía
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es la


Abstracción?
La abstracción es la propiedad que permite representar las características
esenciales de un objeto, sin preocuparse de las restantes características (no
esenciales).

Definir una abstracción significa describir una entidad del mundo real, no
importa lo compleja que pueda ser, y a continuación utilizar esta
descripción en un programa.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es la


Abstracción? Atributos

Marca
Modelo
Color
Vel. Max
Matricula

Acciones

Encender
Frenar
Acelerar
Características y comportamientos esenciales Apagar
de un objeto para resolver un problemas …
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es la


Abstracción?

La importancia de los atributos y métodos de una entidad del mundo


real, va orientada al problema a solucionar.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es un tipo


abstracto de dato TAD?
Un tipo abstracto de datos (TAD) es un tipo de dato definido por el
programador que se puede manipular de un modo similar a los tipos de datos
definidos por el sistema.

Un tipo de dato abstracto corresponde a un conjunto de valores legales de datos


y un número de operaciones que se pueden realizar sobre esos valores.

Fraccionario Perro
Int numerador
Int denominador
8 float A_prom.
float P_prom.
_________________
Sumar()
5 int Esp_vida
String P_origen
Restar() ______________
Multiplicar() TAD ladrar()
Correr()
TAD
Morder()
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: Ejercicio sobre


abstracción?
FUTBOLISTA FUTBOLISTA
ATRIBUTOS ATRIBUTOS
Dorsal Dorsal : int
Perfil Perfil: char
Edad: int
Edad Estatura: double
Estatura
COMPORTAMIENTOS COMPORTAMIENTOS
TAD
Posicionar en campo
Lanzar tiro libre
Cobrar penaltis
Dar pase
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: Ejercicio sobre


abstracción?

ATRIBUTOS ATRIBUTOS

TAD
COMPORTAMIENTOS COMPORTAMIENTOS
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: Ejercicio sobre


abstracción?
Se desea calcular Préstamo Préstamo
el monto de ATRIBUTOS ATRIBUTOS
interés que se Monto del préstamo : double
Monto del préstamo
paga por un % de interés: doublé
% de interés
préstamo

TAD
COMPORTAMIENTOS COMPORTAMIENTOS

Calcular monto interés ( )


UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: Ejercicio sobre


abstracción?
Se desea conocer
el % de utilidad de ATRIBUTOS
un producto
vendido

TAD
COMPORTAMIENTOS COMPORTAMIENTOS
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es el


encapsulamiento?

La encapsulación o encapsulamiento es la
propiedad que permite asegurar que el contenido
de la información de un objeto está oculta al
mundo exterior: El objeto A no conoce los datos
de un objeto B, y viceversa.(también se conoce
como ocultación de la información)

Ocultación de
Información
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: que es el


encapsulamiento?

En la practica la encapsulación da lugar a que las


clases se dividan en dos partes:
Interface: captura la visión externa de una clase,
abarcando la abstracción del comportamiento
común a los ejemplos de esa clase.
Implementación: comprende la representación
de la abstracción, así como los mecanismos que
ObjetoA ObjetoB conducen al comportamiento deseado.

Con la encapsulación, las clases son vistas como cajas


negras, es decir que se conoce lo que hace la clase pero
no la forma en que lo hace.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: la modularidad?

La 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
sí y de las restantes partes.

Débilmente Acoplados y
Altamente cohesivos
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: la modularidad?


El Acoplamiento es una medida del grado de interdependencia entre
módulos, es decir, el modo en que un módulo está siendo afectado por la
estructura interna de otro módulo.

El objetivo es minimizar el acoplamiento entre módulos

Un módulo cohesivo ejecuta una tarea sencilla de un procedimiento de


software y requiere poca interacción con procedimientos que ejecutan otras
partes de un programa.
En otras palabras, un módulo cohesivo sólo hace (idealmente) una cosa

Los módulos deben ser generalmente independientes de cada uno de los


restantes y se pueden ensamblar fácilmente para construir la aplicación
completa.
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: jerarquía?


La jerarquía es una propiedad que permite una ordenación de
las abstracciones. Las mas importantes son:
 Estructura de clases (generalización/especialización)
 Estructura de objetos (agregación)

Las jerarquías de generalización/especialización se conocen como


herencia y básicamente define una relación entre clases, en donde
una clase comparte la estructura o comportamiento definido en una o
más clases. “Es un”

La agregación es el concepto que permite el agrupamiento físico de


estructuras relacionadas lógicamente. Así, un camión se compone de
ruedas, motor, sistema de transmisión y chasis; en consecuencia,
camión es una agregación, y ruedas, motor, transmisión y chasis son
agregados de camión. “Hace parte de”
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: jerarquía?

Las jerarquías de generalización/especialización se conocen como HERENCIA


la cual define una relación entre clases, en donde una clase comparte la
estructura o comportamiento definido en una o más clases.

CARRO
Especialización

Generalización
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: jerarquía?

La agregación es el concepto que permite el agrupamiento físico de


estructuras relacionadas lógicamente

Agregados de un camión
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: ejemplo de


jerarquía?
Medio de Transporte

XBOX

Reloj
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: ejercicio de


jerarquía?
Generalización /
Especialización

Agregación
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: ejercicio de


jerarquía?

bicicleta Dirección Frenos Lámpara Llanta Avión

Vehículo
Agregación
Herencia
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: ejercicio de


Objeto jerarquía?
Agregación Generalización/
Especialización
Persona

Medio de transporte

Electrodoméstico
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: clases y objetos ?

CLASE
Una clase es la descripción de un conjunto de objetos; consta de métodos y
datos que resumen características comunes de un conjunto de objetos.
Dicho de otro modo, una clase es la declaración de un tipo de objeto o una
plantilla que define las variables y los métodos que son comunes para todos
los objetos de un cierto tipo.
Clase

OBJETO
Cada objeto es un ejemplar de una CLASE. Cada vez que se construye un
objeto de una clase, se crea una instancia de esa clase.

Objetos
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: clases y objetos ?

Clase – Diagrama UML


UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: clases y objetos ?

Clase Objetos
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: clases y objetos ?

Clase

Objetos
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: ejercicio clases y


objetos ?

Cien años de Obra Toyota Dragón


Estudiante Anime Carro Novela Pepito Pérez
soledad Literaria corolla Ball Z

Clase Objetos
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: métodos y


mensajes?
Un programa orientado a objetos consiste en un número de objetos que se
comunican unos con otros invocando a sus métodos.
Un método es el procedimiento o funcion que se invoca para actuar sobre
un objeto.
Un mensaje es la acción que debe hacer un objeto

Atributos

Color
Velocidad
o
Motor
A ut
_
Ruedas ar
… nc
ra
Ar

Acciones

ajes
Arrancar s
Frenar en
Doblar M
Apagar

UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: métodos y


mensajes?

Un programa orientado a objetos


consiste en un número de objetos que se
comunican unos con otros llamando a
funciones miembros “metodos”
(mensajes)
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: etapas para la solución


de problemas en el enfoque orientado a objetos?
• Definición del problema o dominio del problema: Permite describir en forma
narrativa o esquemática, de modo claro y concreto, y en un lenguaje corriente el
problema que ha de resolverse
• AOO y DOO. El análisis busca identificar y describir los objetos en el dominio del
problema, se definen sus atributos (datos), relaciones y procedimientos
(métodos).

En el diseño orientado a objetos (DOO) se procura definir las clases que


finalmente serán implementados en un lenguaje de programación. Estas no son
consecuencia de los requisitos del problema, sino de la solución propuesta
(dominio de la solución).

• Programación. Implementar en un lenguaje de POO las clases diseñadas.


• Documentación. Permite entender el programa, facilita su mantenimiento, depuración y
modificación
UNIDAD 1: INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS

Programación orientada a objetos: etapas para la solución


de problemas en el enfoque orientado a objetos?
En resumen:

Una solución orientada a objetos implica los siguientes pasos necesarios:

Análisis y diseño orientado a objetos


• Identificar las abstracciones (clases).
• Identificar los atributos (datos) de cada abstracción.
• Identificar las operaciones (métodos) de cada abstracción.
• Aplicar la herencia donde sea necesario.
• Construir el diagrama de clases.

Programación
• Desarrollo del algoritmo.
• Prueba del algoritmo (prueba de escritorio).
• Codificación del algoritmo en un lenguaje de programación.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy