Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Introducción al paradigma POO

Unidad 1.- Progra 2
by

Lucero Zamora

on 10 February 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Introducción al paradigma POO

Encapsulamiento
Introducción al paradigma POO
Ing. Lucero Zamora M.
Conceptos de orientación a objetos
Lenguajes de POO
Entre los lenguajes orientados a objetos se destacan los siguientes:
•Object Pascal (Delphi)
•Gambas
•Harbour
•Eiffel
•Java

•C++
•C#
•Clarion
•Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y))
•D
•JavaScript (la herencia se realiza por medio de la programación basada en prototipos)
•Lexico (en castellano)
•Objective-C
•Ocaml
•Oz

"Tecnología orientada a objetos"
La tecnología de Objetos data de los años 60, cuando surge la necesidad de describir y simular fenómenos como sistemas de comunicación, redes neurales, sistemas administrativos, etc.

Orientación a objetos
Atributos y valores de un objeto
Representación de un objeto
Objeto
•Perl (soporta herencia múltiple)
•PHP (a partir de su versión 5)
•PowerBuilder
•Python
•Ruby
•Smalltalk

Unidad 1
1961
1967
1970
1983
Simula I
Creado por Krystin Nygaard, Los usuarios descubrieron que también proveía de nuevas y poderosas facilidades cuando era usado para otros propósitos, aparte de la simulación, tales como el prototipeo y aplicaciones.
Simula 67
Desarrollado por Kristen Nygaard y Ole-Johan Dahl en 1967 en el Centro de Computación Noruego de Oslo, en él se implementaron por primera vez los conceptos de clase, objeto y herencia, que en adelante serían elementos centrales en los Lenguajes Orientados A Objetos
Smalltalk
Diseñado por Alan Kay, permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí, mediante el envío de mensajes.
Ada
Al evolucionar "Smalltalk" y crearse el lenguaje "ADA" crecio el interes en el diseño orientado a objetos.
Originalmente nombrado "DoD-1", después fue cambiado a "ADA" en honor a Ada Lovelace pionera en computación y partidaria de Charles Babage.
Esta hecho para soportar la construcción de grandes programas.
Perspectiva histórica
Ventajas de los lenguajes OO
En POO, los programas de ordenador tienen interacción de "objetos". Un objeto tiene "variables de instancia" y "métodos". Las variables de instancia graban valores asociados con el objeto. Los métodos son funciones que involucran algún aspecto del objeto.
* Los objetos pueden poseer atributos inherentes de la clase al que pertenecen
Escribir código es más fácil porque se puede conceptualizar como algo que le sucede a un objeto.
La POO hace que los programas grandes sean más manejables.
Ejemplo:
Si todas las ventanas pertenecen a una jerarquía de clases de ventanas y todo el código se refiere a una ventana particular, es con ese objeto de ventana, todas las manipulaciones de ventana se pueden escribir como una transferencia de mensajes sencillos.
Cualquier cosa real o imaginaria acerca de la cual almacenamos datos
Cualquier cosa o evento del mundo real
María
SEXO
Femenino
ALTURA
1.70
EDAD
20
PESO
70 kg
María:
Persona
SEXO:
Femenino
EDAD:
20
ALTURA:
1.70
PESO:
70 kg
Nombre de
la clase
Valores de
los atributos
Nombre del
objeto
A
t
r
i
b
u
t
o
s
El objeto hereda todos los atributos y operaciones de la clase
CLASE: Mobiliario

COSTO
DIMENSIONES
PESO
COLOR

comprar
vender
mover
OBJETO: Mesa

COSTO
DIMENSIONES
PESO
COLOR

comprar
vender
mover
OBJETO: Silla

COSTO
DIMENSIONES
PESO
COLOR

comprar
vender
mover
Orientación a objetos = objeto + clasificación + herencia + comunicación
1.- Clases y objetos
Las clases describen una colección de objetos similares
2.- Atributos
Están asociados a las clases y objetos, que describen la clase o el objeto de alguna manera
3. Operaciones, métodos o servicios
Son la forma en como una clase interactúa con su entorno
Todos los objetos de una clase comparten las mismas operaciones
"Mensajes"
Son el medio a través del cuál interactúan los objetos
Objeto Emisor
Objeto Receptor
Herencia
Polimorfismo
Significa que toda la información se encuentra empaquetada bajo un nombre y puede reutilizarse como una especificación o componente del programa
Ventajas
Reduce la propagación de efectos secundarios
Las estructuras de datos y las operaciones están mezcladas en una entidad sencilla: La clase
Las interfaces entre objetos encapsulados están simplificadas
La clase puede diseñarse y construirse de la nada
La jerarquía de clases puede rastrearse para determinar si una clase superior contiene la mayoría de los atributos y operaciones
La jerarquía de clases puede reestructurarse de tal manera que los atributos y operaciones requeridos puedan ser heredados por una nueva clase
Permite que un número de operaciones diferentes tengan el mismo nombre, reduciendo la cantidad de líneas de código necesarias para implementar un sistema y facilita los cambios en caso de que se produzcan
Ejemplo:
case of tipo_grafico:
if tipo_grafico=grafico_circular
then
dibujar_circular(datos);
if tipo_grafico=grafico_linea
then
dibujar_linea(datos);
if tipo_grafico=grafico_barra
then
dibujar_barra(datos);
end case;
Tipo_grafico_dibujar
•ABAP
•ABL Lenguaje de programación de OpenEdge de Progress Software
•ActionScript
•ActionScript 3
•Ada
•Vala
•VB.NET
•Visual FoxPro (en su versión 6)
•Visual Basic 6.0
•Visual Objects
•XBase++

Tarea:
Elegir uno de los lenguajes anteriores e investigar
* Quien es su desarrollador
* Año en que se desarrollo
* Características
* Opinión personal sobre dicho lenguaje
Full transcript