2. Contenido
• INTRODUCCIÓN - ORIGEN
• DEFINICION (Programación Orientada a Objetos)
• VENTAJAS Y DESVENTAJAS POO
• CONCEPTOS BASICOS DE POO
• COMPONENTE DE LOS OBJETOS
• CARACTERSITICAS POO
• TIPO Y CLASIFICACION DE LENGUAJES
• LENGUAJE de programación orientado a objetos
3. INTRODUCCION - ORIGEN
La programación estructurada tradicional se basa fundamentalmente en la ecuación de
Wirth
Algoritmos + Estructuras de Datos = Programas
Esta ecuación significa que en la programación estructurada u orientada a procedimientos
los datos y el código se trata por separado y lo único se realiza son funciones o
procedimientos que tratan esos datos y los van pasando de unos a otros hasta que se
obtiene el resultado que se desea.
Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un
lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard
del Centro de Cómputo Noruego en Oslo.
4. DEFINICION
Una clase es una colección de
objetos de tipo similar. Una vez
que se define una clase, cualquier
objeto nuevo creado puede
pertenecer a esa clase.
La Programación Orientada a
Objetos, POO (OOP, Object
Oriented Programming, en
inglés), es una técnica de
programación cuyo soporte
fundamental es el objeto.
5. VENTAJAS
Proximidad de los conceptos
modelados respecto a objetos del
mundo real
Facilita la reutilización de código
Y por tanto el mantenimiento del
mismo
Se pueden usar conceptos
comunes durante las fases de
análisis, diseño e implementación
Disipa las barreras entre el qué y el
cómo
DESVENTAJAS
Mayor complejidad a la hora de
entender el flujo de datos
Pérdida de linealidad
Requiere de un lenguaje de
modelización de problemas más
elaborado:
Unified Modelling Language (UML)
Representaciones gráficas más
complicadas
6. CONCEPTOS BASICOS DE POO
Objeto: Conjunto concreto de datos y operaciones
(métodos).
Clase: Conjunto de las propiedades y métodos de un tipo
de objeto determinado.
Método: Algoritmo asociado a una clase de objetos o a uno
de ellos. Se ejecutan tras recibir un "mensaje
Evento: Es un suceso en el sistema. El programa envía el
mensaje adecuado al objeto pertinente.
Mensaje: Información dirigida a un objeto, el cual le dice
que ejecute uno de sus métodos con ciertos parámetros
asociados al evento que lo generó.
Propiedad o atributo: Características de un objeto o una
clase de objetos.
Estado interno: Propiedad invisible de los objetos que solo
se ve afectada por un método del objeto
7. Componentes de un objeto
• atributos,
• identidad,
• relaciones
• y métodos.
Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
Un objeto se representa por medio de una tabla o entidad que esté compuesta
por sus atributos y funciones correspondientes.
9. CARACTERISTICAS POO
1.La encapsulación:
El almacenamiento de datos y funciones en una sola unidad (clase) es la
encapsulación. Los datos no pueden ser accesibles desde fuera y sólo aquellas
funciones que se almacenan en la clase pueden acceder a él.
2.Abstracción de datos:
La abstracción se refiere al acto de que representan características esenciales sin
incluir los detalles del fondo y explicaciones. Las clases utilizan el concepto de
abstracción y se definen como una lista de atributos abstractos.
3.Polimorfismo:
Polimorfismo significa la capacidad de tomar más de una forma. Una operación
puede presentar diferentes comportamientos en diferentes instancias. El
comportamiento depende de los tipos de datos utilizados en la operación. El
polimorfismo es ampliamente utilizado en la aplicación de la herencia.
4.Herencia:
Esto es, se pueden crear clases nuevas a partir de clases anteriormente creadas y
aquellas pueden obtener los atributos, métodos, etc. de la clase de la que
depende.
10. MAPA MENTAL CARACTERISTICA POO
• Primera viñeta aquí
• Segunda viñeta aquí
• Tercera viñeta aquí
Grupo
A
Grupo
B
Grupo
C
13. Tipos de
lenguajes
Lenguaje máquina
00110011
Lenguaje ensamblador
ld a, #10
Lenguajes de alto nivel
for(i=0;i<10;i++)
Lenguajes orientados a objetos
class persona{ }
CLASIFICAION
DEL
LENGUAJE
Lenguajes imperativos. Utilizan instrucciones como unidad de
trabajo de los programas (Cobol, Pascal, C, Ada).
Lenguajes declarativos. Los programas se construyen
mediante descripciones de funciones o expresiones lógicas
(Lisp, Prolog).
Lenguajes orientados a objetos. El diseño de los programas se
basa mas en los datos y su estructura. La unidad de proceso es
el objeto y en el se incluyen los datos (variables) y las
operaciones que actúan sobre ellos (Java, Smalltalk, C++).
Lenguajes orientados al problema. Diseñados para problemas
específicos, principalmente de gestión, suelen ser generadores
de aplicaciones. (Lenguajes de 4ª Generacion 4GL, Progress,
ABAP, ORACLE)
Lenguajes naturales. Están desarrollándose nuevos lenguajes
con el principal objetivo de aproximar el diseño y construcción de
programas al lenguaje de las personas.
14. Lenguaje de programación orientado a objetos
• Action Script , Ada, C++, C#,
Clarion, C++Builder, D,
Delphi, Harbour, Eiffel, Java,
Lexico (en castellano),
Objective-C, Ocaml, Oz, Perl
(soporta herencia múltiple),
PHP (en su versión 5) ,
PowerBuilder, Python, Ruby,
Smalltalk, Magik
(SmallWorld), VB.NET Visual
FoxPro , XBase++