0% encontró este documento útil (0 votos)
59 vistas32 páginas

POO

El documento describe la evolución de las técnicas de programación desde los años 1950 hasta la actualidad, culminando con el surgimiento de la programación orientada a objetos. La programación orientada a objetos se basa en representar el mundo real mediante objetos que encapsulan datos y comportamientos, lo que permite mayor reutilización de código y extensibilidad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
59 vistas32 páginas

POO

El documento describe la evolución de las técnicas de programación desde los años 1950 hasta la actualidad, culminando con el surgimiento de la programación orientada a objetos. La programación orientada a objetos se basa en representar el mundo real mediante objetos que encapsulan datos y comportamientos, lo que permite mayor reutilización de código y extensibilidad.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 32

1.

INTRODUCCION

 Historia
– Evolución de las técnicas de programación
• Antes de los 60
– No había método para el diseño ni la implementación de
software
– No había medios para mantener los programas
– Si algo iba mal, era mejor sustituirlo que revisarlo.
– La mayoría del software escrito en esta época tuvo que ser
posteriormente reescrito.
– Esto llevo a la crisis del software
1. INTRODUCCION
 Historia
– Evolución de las técnicas de programación
• 60 - . Metodologías
– Surge la programación procedural
– Aumentar la legibilidad
– Bajar costes de mantenimiento
– Acelerar el proceso de desarrollo
• Programación estructurada
– Pone límites al programador
– Abstracciones de datos
– Abstracciones de control
• Programación modular
– Software en módulos
– El diseño y programación de aplicaciones era considerado como un arte.
– Reutilización de módulos
– Una aplicación es un conjunto de módulos
1. INTRODUCCION
 Historia
– Simula (1967)
– Smalltalk-80 (72-76) reutiliza estas ideas
– genera un entorno gráfico basado en ellas lo populariza en las
universidades.
– Con máquinas más potentes, aparecen nuevos
– lenguajes
• C++
• Eifel
• Pascal Orientado a Objetos (Object Pascal),
• Modula Orientado a Objetos, (Oberon).
• Java
• Entornos visuales Orientados a Objetos
1. INTRODUCCION
 Historia
– forma simplificada: 1950 1960 1970 1980
– L.máquina
– L.ensamblador
– L.alto nivel
– Prog. estructurada
– Prog. orientada a objeto
1. INTRODUCCION
 ¿Qué es Orientado a objetos?
 El software mantiene
I. Estructuras de datos
II. Comportamientos
– El término "Orientado a objetos" significa que el sofware
se organiza como una colección de objetos. Los objetos
representan abstracciones del mundo real
– Liga de forma robusta I y II
– En oposición a la programación convencional Liga de
forma debil I y II
1. INTRODUCCION
 ¿Desarrollo orientado a objetos
– Nueva forma de pensar Basada en abstracciones del
mundo real. Los objetos representan a estas abstracciones
– La esencia:
• La identificación y organización de conceptos del dominio de la
aplicación y no de su representación final en un lenguaje de
programación
– Es un proceso intelectual independiente de cualquier
lenguaje
– Se tratan temas conceptuales de primer plano, no de
implementaciones
1. INTRODUCCION
 Beneficios de la POO:
– Reutilización de código:
– Incremento de la productividad.
– Extensibilidad (mantenimiento):
– Podremos modificar el comportamiento de los
programas sin tener que ‘retocar’ todos los
módulos, es decir, hay una mayor independencia
entre módulos, y cada uno de ellos tendrá un
función clara.
1. INTRODUCCION

 La Programación orientada a objetos (POO)


se basa en estructuras modulares basadas en
datos (objetos) que incluyen los
procedimientos de acceso a esos datos
(métodos)
 Los objetos en la POO deben modelar
objetos del mundo real.
1. INTRODUCCION

 Objetivos de la POO:
 Simular modelos de la realidad, lo cual es
bastante difícil con los lenguajes típicos de
3ª generación (programación estructurada).
La POO trata de que la estructura de un
programa sea lo más parecida al problema
real que se está modelando.
1. INTRODUCCION
 Clase
 Objeto
 Propiedad
 Método
 Evento
 Polimorfismo/Encapsulación (Abstracción)
 Herencia
 Mensaje
OBJETO
 entidad que tiene unos atributos, un estado y
un comportamiento bien definido.
P.e.: un coche, un reloj, un animal, ...
 Desde el punto de vista de la POO ...
... modelo software de un objeto del “mundo real”.
– Los atributos y el estado se guardan en variables.
– El comportamiento se gestiona mediante
métodos. Procedimientos/funciones que operan
con las variables del obj.
CLASE

Clase:
Generalización o plantilla en donde se define
los datos (propiedades) y el
comportamiento (métodos) que tendrán
todos los objetos que se instancien (definan)
a partir de ella. Una vez definida, podremos
usarla exactamente del mismo modo que el
resto de clases que incorpora el lenguaje.
CLASE
 estructura software que especifica un
determinado tipo de objeto.
 Define la estructura y el comportamiento.
“Planos” de construcción de un tipo (clase) de
objetos.
Después de declarar una clase pueden crearse
cualquier número de objetos de esa clase
(instancias).
Mecanismo de encapsulación software.
CLASE

 Clase Abstracta:
– Clase que constituimos para derivar de ella
otras clases pro de que se puede instaciar.
– Se sitúa al inicio de la jerarquía y es
creada sólo para que contenga aquellos
datos y métodos comunes a todas las
clases que de ella derivan
OBJETO

Objeto:
Es una instancia (particularización) de una
clase, es decir, tendrá todas las propiedades
y métodos definidos en la clase, pero con
unos valores concretos en la propiedades.
OBJETO

Propiedad (atributo):
Son los datos que contiene y encapsula una
clase, es decir, deben estar ocultos al
exterior, y tan sólo serán accesibles por
medio de algún método.
Cuando instanciemos objetos de esta clase,
cada uno de ellos podrá tener valores
distintos en las propiedades.
OBJETO
Método:
Una operación que se podrá realizar sobre
un objeto.
Se definen en una clase y son las que definen su
comportamiento.
Es decir todo objeto que tiene métodos esta orientado
a responder a una determinada serie de estímulos
La forma de invocar un método de un objeto es
mediante el envío o paso de mensajes.
OBJETO
Mensaje:
El mecanismo de comunicación entre objetos
durante la ejecución del programa es el llamado
paso de mensajes.
• Un objeto envía un mensaje a otro:
– Quiere que el otro objeto realice alguna acción
– Quiere solicitarle una información
• Cuando un objeto recibe un mensaje, ejecuta el
método asociado a dicho mensaje.
OBJETO
Variable
marcha
Velocidad
variable Frenar
metodo

Cambiar
cadencia Cambiar
marcha

Variable
cadencia
pedaleo
OBJETO

Herencia:
Podemos definir una clase a partir de una
clase ya existente, heredando sus
propiedades y métodos, pudiendo añadir
otras nuevas o redefiniendo otras.
La clase existente recibe el nombre de clase
base o superclase, y la nueva, clase derivada
o subclase.
OBJETO
OBJETO
OBJETO
OBJETO

Encapsulación:
Mecanismo que nos permite ocultar información al
exterior de una clase sobre las datos y detalles de
implementación.
También se le llama ocultación de información o
abstracción.
Tendremos distintos niveles de abstracción según la
visibilidad que tengamos de un objeto.
OBJETO

Encapsulación:
– Los datos de una clase sólo deben ser alterados
por los métodos de su clase y no de forma
directa
– Todos los datos son privados y se accede a ellos
mediante métodos públicos.
OBJETO

Encapsulación:
– Cómo requerimos la actuación de un método?
– Enviando un mensaje al objeto, al recibir el
mensaje el objeto, ejecuta el método y puede
cambiar los valores de los datos de un objeto.
OBJETO

Encapsulación:
• Un objeto es como una caja negra a la que se la
envía mensajes y este responde ejecutando el
método apropiado, que producirá las acciones
deseadas.
• Un objeto una vez programado es sólo
manipulable a través de mensajes
OBJETO
1. ABSTRACCION

 visión simplificada de una realidad de la


que sólo consideramos determinados
aspectos esenciales.
OBJETO

Polimorfismo:
 Se entiende aquella cualidad que poseen los
objetos para responder de distinto modo
ante el mismo lenguaje
OBJETO

Polimorfismo:
Varios métodos con el mismo nombre,
teniendo comportamiento diferente en cada
una de ellas (código diferente).
Se les llama funciones sobrecargadas: más
de una definición.
La sobrecarga de operadores también es
una forma de polimorfismo.

También podría gustarte