Está en la página 1de 18

UNIVERSIDAD NACIONAL DEL ALTIPLANO

FACULTAD DE INGENIERIA MECANICA ELECTRICA,


ELECTRONICA Y SISTEMAS
ESCUELA PROFESIONAL DE INGENIERIA
ELECTRONICA

CURSO:
LENGUAJE DE PROGRAMACIÓN II
TEMA:
LENGUAJES DE PROGRAMACIÓN ORIENTADA A OBJETOS
“ADA, EIFFEL Y SMALLTALK”
INTEGRANTES:
- HUAYNACHO QUISPE LUIS ALBERTO
- CRUZ LLANO GILBER YONATHAN
1. ADA
Ada es un lenguaje de programación orientado a
objetos y fuertemente tipado de forma estática que fue
diseñado por Jean Ichbiah de CII Honeywell Bull por
encargo del Departamento de Defensa de los Estados
Unidos. Es un lenguaje multipropósito, orientado a
objetos y concurrente, pudiendo llegar desde la facilidad
de Pascal hasta la flexibilidad de C++.
Ada soporta conceptos orientados a objetos. El único
concepto que no implementa Ada es la herencia.
Las propiedades de Ada orientadas a objetos se implementan de la
forma siguiente :

 Encapsulamiento
 Ocultación de información
 Sobrecarga
 Genericidad
 Herencia
1.1 Abstracción de datos Ada
En Ada lós tipos abstractos de datos se implementan
mediante paquetes; si bien los tipos abstractos de
datos sirven ademas para uma gran variedade de
aplicaciones.
Un paquete de Ada consta de dos partes:
 Expecificacion del paquete; que declara los
nombres de los tipos, subprogramas y objetos que
son visibles a los usuários del paquete.
 Cuerpo del paquete; que contiene la
implementacion de los componentes que son
ocultos a los clientes del paquete.
Los formatos para definir la especificacion y el
cuerpo de un paquete son:
Un tipo abstracto de dato para representar números completos con
diferentes tipos de operaciones en Ada es:
1.2 Genericidad en Ada
Ada soporta genericidad. Las unidades genéricas son subprogramas o paquetes
parametrizados que permiten al usuario desarrollar código reutilizable. El formato de
una unidad genérica es:

La instanciación de una unidad genérica crea una copia de la unidad genérica, para instanciar un
subprograma genérico “intercambio”, que intercambian entre si el de contenido de unas variables:

También se puede instanciar un procedimiento llamado “intercambio_empleado”, que intercambia


dos registros empleado:
1.3 Soporte de herencia en Ada - 83
Ada-83 no soporta herencia, pero si un tipo de seudo-herencia, de modo que de
una declaración de tipo dato puede especificar que el tipo de dato se deriva de
un tipo de dato ya existente. Así, a partir del tipo complejo, definido
anteriormente, se puede declarar otro tipo “tipo_complejo”, del modo siguiente:

El soporte de herencia de Ada no se puede utilizar para capturar abstracciones


generalizadas, como un tipo de dato base abstracto, de las que se puedan derivar
tipos de datos abstractos. Ada tampoco soporta ninguna forma de ligadura dinámica ni
de polimorfismo.
1.4 soporte de Ada para orientación
de objetos
Las grandes limitaciones de método de herencia de Ada y su ausencia de soporte de
polimorfismo no permiten que Ada puede ser utilizado como un lenguaje de
programación orientado a objetos a lo máximo, Ada se puede considerar como un
“Lenguaje basado en objetos”, en base a que soporta todo el concepto de tipo abstracto
de datos. La siguiente imagen muestra las características de OO de Ada, así como sus
carencias.
2. EIFEEL
Eiffel es un lenguaje orientado a objetos puro desarrollado por Bertran Meyer de
Interactive Software Environments Inc. Su diseño se inspiro en simula, pero también
muestra la influencia de Smalltalk y Ada. Además incorpora modernas técnicas de ingeniería
de software, para grandes aplicaciones, permitiendo desarrollar aplicaciones robustas,
exactas, transportables y eficientes. Las características de Eiffel se resumen en la
siguiente tabla.
2.1 La biblioteca de clases Eiffel

El entorno de programación Eiffel proporciona una biblioteca de clases


predefinidas muy grande. Las clases de estructura de datos, apoyo y de
núcleo (Kernel), hasta clases graficas que soportan puntos, rectángulos,
etc.
La biblioteca de clases de gráficos avanzados soporta el sistema
Xwindow, lo que permite al programador construir interfaces de usuario
sofisticados.
2.2 El entorno de programación
Eiffel

El compilador Eiffel, un hojeador de clases (Browser), un editor y las herramientas


<<flat>> y <<short>> son las partes fundamentales del entorno de programación Eiffel.

El Compilador Eiffel tiene una característica de recompilación automática. Recompila


solo aquellas clases que estén afectadas por un cambio.
2.3 El lenguaje Eiffel

El único criterio de estructuración en Eiffel es la clase. Una clase es unidad simple


y no se separa en una interfaz y en una parte implementación.
Una clase en Eiffel defino los elementos básicos de sus objetos instancia: Variables
de instancia, métodos de instancia y un método de clase. Las variables de instancias
se llaman también atributos, los métodos de instancia se llaman también rutinas y
los atributos y rutinas se llaman colectivamente características .
La clase persona se representa La clase estudiante que se deriva
con un código similar a: de persona podrá ser:
3. SMALLTALK
Smalltalk es el primer lenguaje creado con tecnología de objetos puros. Fue
desarrollado al principio de los setenta por Alan Kay y Adele Golberdg en el
Software Concepts Group de Xerox Palo Alto Research Center. En la actualidad
Smalltalk comienza a imponerse como uno de los primeros lenguajes de
programación orientados a objetos.

La primera versión comercial de Smalltalk se lanzo en 1983 con el nombre de


smalltalk-80. En un principio solo estuvo disponible para potentes estaciones de
trabajo graficas Smalltalk, en el sentido mas estricto, es un entorno de
programación interactivo y requiere gran cantidad de memoria. En la actualidad las
versiones de Smalltalk corren bajo entornos Windows, OS/2 y UNIX.

En esencia, el entorno de programación Smalltalk tiene tres componentes: el


lenguaje básico Smalltalk, una colección de clases, que se utilizan para implementar
el sistema Smalltalk completo, y el entorno real de programación, que permite a un
programador introducir, comprobar y ejecutar aplicaciones Smalltalk.
3.1 El lenguaje Smalltalk
El bloque fundamental básico de un programa Smalltalk es la clase. La clase
contiene descripción de variables de instancia y métodos. El método es el
equivalente al termino función miembro de ++. Al igual que en C++, los métodos
contienen el código que definen como responde un objeto a un mensaje. La forma
básica de una sentencia Smalltalk es un <<Mensaje enviar>>:

Que expresa como un mensaje se envía a un receptor con un argumento.


Términos equivalentes entre C++ y Smalltalk

Características sobresalientes de Smalltalk


3.2 La jerarquía de clases Smalltalk
El entorno de programación incluye una amplia biblioteca de varios centenares de
clases
Smalltalk las agrupa en categorías. Las categorías de clases implementan muchas
estructuras de datos básicos colecciones, conjuntos, bolsas, diccionarios, etc.
4. OTROS LENGUAJES DE PROGRAMACIÓN
ORIENTADOS A OBJETOS.
Hoy día se puede aventurar que existía muy pocos lenguajes comercializados que no
tengan versiones orientadas a objetos, talvez sea FORTRAN el único lenguaje que
no soporta estas características.
La mayoría de los lenguajes estructurados modernos presentan una versión que es
hibrida. Los casos mas sobresalientes son: