Download La programación Orientada a objetos (POO) es una forma especial

Document related concepts

Polimorfismo (informática) wikipedia , lookup

Scala (lenguaje de programación) wikipedia , lookup

Objeto inmutable wikipedia , lookup

Common Lisp wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Transcript
La programación Orientada a objetos (POO) es una forma especial de
programar, más cercana a como expresaríamos las cosas en la vida real que
otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta,
para escribir nuestros programas en términos de objetos, propiedades,
métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar
una pequeña base que permita soltarnos un poco con este tipo de
programación.
En la programación orientada a objetos se define la herencia como una
jerarquía de extracciones, y la relación entre clases, donde se comparte la
estructura y el comportamiento de una o más clase considerada como clases
superiores o una superclase, con lo cual se resume que la herencia es una
unidad independiente por si misma heredada de una abstracción o superclase.
Un ejemplo cotidiano lo encontramos en las aplicaciones que existen
actualmente en el mercado, donde un formulario cualquiera hereda las
características de una ventana del sistema operativo Windows (Maximizar,
Minimizar, Cerrar)
Lenguaje Orientado a Objetos
Rate This
Smalltalk es un lenguaje de Programación realmente orientado a Objetos,
ahora estarás diciendo que Java y .Net no lo son; y la respuesta es NO lo SON.
Java y la familia de lenguajes de .Net son en realidad lenguajes Híbridos que
toman características del Paradigma Estructurado (como estructuras de
control) y lo mezclan con el Paradigma Orientado a Objetos.
Smalltalk en si solo reconoce Objetos, como dice mi Profesor: Según los
puristas en un lenguaje orientado a objetos, absolutamente todo debe ser
objetos.
Según la Wiki:
Historia
Los orígenes de Smalltalk se encuentran en las investigaciones realizadas
por Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg y otros durante los
años setenta en el Palo Alto Research Institute de Xerox(conocido como Xerox
PARC), para la creación de un sistema informático orientado a la educación. El
objetivo era crear un sistema que permitiese expandir la creatividad de sus
usuarios, proporcionando un entorno para la experimentación, creación e
investigación.
Programación orientada a objeto
La programación orientada a objetos es una nueva forma de programar que
trata de encontrar solución a estos problemas. Introduce nuevos conceptos,
que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan
los siguientes:
1. Objeto: entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad ("métodos"). Corresponden
a los objetos reales del mundo que nos rodea, o a objetos internos del
sistema (del programa).
2. Clase: definiciones de las propiedades y comportamiento de un tipo de
objeto concreto. La instanciación es la lectura de estas definiciones y la
creación de un objeto a partir de ellas.
3. Método: algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
método puede producir un cambio en las propiedades del objeto, y/o la
generación de un "evento" con un nuevo mensaje para otro objeto del
sistema.
4. Evento: un suceso en el sistema (tal como una interacción del usuario
con la máquina, o un mensaje enviado por un objeto). El sistema maneja
el evento enviando el mensaje adecuado al objeto pertinente.
5. Mensaje: una comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros asociados al evento
que lo generó.
6. Propiedad o atributo: contenedor de un tipo de datos asociados a un
objeto (o a una clase de objetos), que hace los datos visibles desde
fuera del objeto, y cuyo valor puede ser alterado por la ejecución de
algún método.
7. Estado interno: es una propiedad invisible de los objetos, que puede
ser únicamente accedida y alterada por un método del objeto, y que se
utiliza para indicar distintas situaciones posibles para el objeto (o clase
de objetos).
En comparación con un lenguaje procedural, una "variable" no es más que un
contenedor interno del atributo del objeto o de un estado interno, así como la
"función" es un procedimiento interno del método del objeto.
Lenguajes orientados a objetos
Entre los lenguajes orientados a objetos destacan los siguientes:

ActionScript

Ada 95

C++

C#

Delphi

Eiffel

Java

Lexico (en castellano)

Python

Ruby

Visual Basic
No todos estos lenguajes de programación son igualmente puros (avanzados)
en orientación a objetos.
Al igual que C++ otros lenguajes,
como OOCOBOL, OOLISP,OOPROLOG y Object REXX, han sido creados
añadiendo extensiones orientadas a objetos a un lenguaje de programación
clásico.
Un nuevo paso en la abstracción de paradigmas de programación es la
Programación (POA). Aunque es todavía una metodología en estado de
maduración, cada vez atrae a más investigadores e incluso proyectos
comerciales en todo el mundo.