1. DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA
INSTITUTO TECNOLÓGICO DE MINATITLÁN.
MATERIA:
PROGRAMACION VISUAL
ACTIVIDAD:
INVESTIGACION
DOCENTE:
ING. GUILLERMINA JIMÉNEZ RASGADO
ALUMNO:
MACEDONIO TRINIDAD EDEL
ESPECIALIDAD:
ING. ELECTRONICA
MINATITLAN VER A: 17 DE FEBRERO DE 2014
2. PROGRAMACIÓN ORIENTADA A OBJETOS
La programación orientada a objetos o POO (OOP según sus siglas en inglés)
es un paradigma de programación que usa los objetos en sus interacciones, para
diseñar aplicaciones y programas informáticos. Está basado en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsu
lamiento. Su uso se popularizó a principios de la década de los años 1990. En la
actualidad, existe una gran variedad de lenguajes de programación que soportan
la orientación a objetos.
Los objetos son entidades que tienen un determinado estado, comportamiento
(método) e identidad:
El estado está compuesto de datos o informaciones; serán uno o varios
atributos a los que se habrán asignado unos valores concretos (datos).
El comportamiento está definido por los métodos o mensajes a los que sabe
responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho
con otras palabras, es su identificador (concepto análogo al de identificador de
una variable o una constante).
Un objeto contiene toda la información que permite definirlo e identificarlo frente a
otros objetos pertenecientes a otras clases e incluso frente a objetos de una
misma clase, al poder tener valores bien diferenciados en sus atributos. A su vez,
los objetos disponen de mecanismos de interacción llamados métodos, que
favorecen la comunicación entre ellos. Esta comunicación favorece a su vez el
cambio de estado en los propios objetos. Esta característica lleva a tratarlos como
unidades indivisibles, en las que no se separa el estado y el comportamiento.
Los métodos (comportamiento) y atributos (estado) están estrechamente
relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase
requiere de métodos para poder tratar los atributos con los que cuenta.
El programador debe pensar indistintamente en ambos conceptos, sin separar ni
darle mayor importancia a alguno de ellos. Hacerlo podría producir el hábito
erróneo de crear clases contenedoras de información por un lado y clases con
métodos que manejen a las primeras por el otro. De esta manera se estaría
realizando una programación estructurada camuflada en un lenguaje de
programación orientado a objetos.
La POO difiere de la programación estructurada tradicional, en la que los datos y
los procedimientos están separados y sin relación, ya que lo único que se busca
es el procesamiento de unos datos de entrada para obtener otros de salida. La
programación estructurada anima al programador a pensar sobre todo en términos
de procedimientos o funciones, y en segundo lugar en las estructuras de datos
3. que esos procedimientos manejan. En la programación estructurada solo se
escriben funciones que procesan datos. Los programadores que emplean
Programación Orientada a Objetos, en cambio, primero definen objetos para luego
enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
ORIGEN DE LA POO
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. En este centro
se trabajaba en simulaciones de naves, que fueron confundidas por la explosión
combinatoria de cómo las diversas cualidades de diferentes naves podían afectar
unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas
clases de objetos, siendo responsable cada clase de objetos de definir
sus propios datos y comportamientos. Fueron refinados más tarde en Smalltalk,
desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita
sobre Basic) pero diseñado para ser un sistema completamente dinámico en el
cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de
ejecución) en lugar de tener un sistema basado en programas estáticos.
La programación orientada a objetos se fue convirtiendo en el estilo de
programación dominante a mediados de los años ochenta, en gran parte debido a
la influencia de C++, una extensión del lenguaje de programación C. Su
dominación fue consolidada gracias al auge de las Interfaces gráficas de usuario,
para las cuales la programación orientada a objetos está particularmente bien
adaptada. En este caso, se habla también de programación dirigida por eventos.
Las características de orientación a objetos fueron agregadas a muchos lenguajes
existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp y Pascal, entre otros.
La adición de estas características a los lenguajes que no fueron diseñados
inicialmente para ellas condujo a menudo a problemas de compatibilidad y en la
capacidad de mantenimiento del código. Los lenguajes orientados a objetos
"puros", por su parte, carecían de las características de las cuales muchos
programadores habían venido a depender. Para saltar este obstáculo, se hicieron
muchas tentativas para crear nuevos lenguajes basados en métodos orientados a
objetos, pero permitiendo algunas características imperativas de maneras
"seguras". El Eiffel de Bertrand Meyer fue un temprano y moderadamente
acertado lenguaje con esos objetivos, pero ahora ha sido esencialmente
reemplazado por Java, en gran parte debido a la aparición de Internet y a la
implementación de la máquina virtual de Java en la mayoría
de navegadores. PHP en su versión 5 se ha modificado; soporta una orientación
completa a objetos, cumpliendo todas las características propias de la orientación
a objetos.
4. TIPOS DE LENGUAJES DE POO
Lenguaje de programación Java
El lenguaje de programación Java fue originalmente desarrollado por James
Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y
publicado en 1995 como un componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva mucho de C y C++, pero tiene menos
facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son
generalmente compiladas a bytecode(clase Java) que puede ejecutarse en
cualquier máquina virtual Java (JVM) sin importar la arquitectura de la
computadora subyacente.
Es un lenguaje de programación de propósito general, concurrente, orientado a
objetos y basado en clases que fue diseñado específicamente para tener tan
pocas dependencias de implementación como fuera posible. Su intención es
permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo
ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once,
runanywhere"), lo que quiere decir que elcódigo que es ejecutado en una
plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de
2012, uno de los lenguajes de programación más populares en uso,
particularmente para aplicaciones de cliente-servidor de web, con unos 10
millones de usuarios reportados.
Ejemplo 1
Clara orientación a objetos de java
public class Hello {
public static void main(String[] args) {
System.out.println("Hola mundo");
}
}
Lenguaje de programación Fortran
A finales de 1953, John W. Backus sometió una propuesta a sus superiores
en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador para
programar el computador central IBM 704. El histórico equipo FORTRAN de
Backus consistió en los programadores Richard Goldberg, Sheldon F. Best,
HarlanHerrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, LoisHaibt y
David Sayre.
5. A mediados de 1954 fue terminada una especificación del borrador para el IBM
Mathematical Formula Translating System. El primer manual para el FORTRAN
apareció en octubre de 1956, porque los clientes eran reacios a usar un lenguaje
de programación de alto nivel a menos que su compilador pudiera generar código
cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje
ensamblador.
Fortran (previamente FORTRAN) (contracción del inglés Formula Translating
System) es un lenguaje de programación alto nivel de propósito
general,procedimental e imperativo, que está especialmente adaptado al cálculo
numérico y a la computación científica. Desarrollado originalmente
por IBM en 1957 para el equipo IBM 704, y usado para aplicaciones científicas y
de ingeniería, el FORTRAN vino a dominar esta área de la programación desde el
principio y ha estado en uso continuo por más de medio siglo en áreas de cómputo
intensivo tales como lapredicción numérica del tiempo, análisis de elementos
finitos, dinámica de fluidos computacional (CFD), física computacional y química
computacional. Es uno de los lenguajes más populares en el área de
la computación de alto rendimiento y es el lenguaje usado para programas que
evalúan el desempeño (benchmark) y el ranking de los supercomputadores más
rápidos del mundo.
Ejemplo
Fortran
PROGRAM HOLA
PRINT *, '¡Hola, mundo!'
END
Lenguaje de programación 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++.
Fue diseñado con la seguridad en mente y con una filosofía orientada a la
reducción de errores comunes y difíciles de descubrir. Para ello se basa en un
tipado muy fuerte y en chequeos en tiempo de ejecución (desactivables en
beneficio del rendimiento). La sincronización de tareas se realiza mediante la
primitiva rendezvous.
6. Ada se usa principalmente en entornos en los que se necesita una gran seguridad
y fiabilidad como la defensa, la aeronáutica (Boeing o Airbus), lagestión del tráfico
aéreo (como Indra en España) y la industria aeroespacial entre otros.
Ejemplo:
Un ejemplo común sobre la sintaxis de los lenguajes de programación es el "Hola
Mundo". En Ada, se realizaría así:
withAda.Text_IO; useAda.Text_IO;
procedure Hello is
begin
Put_Line("Hola, mundo!");
endHello;
Lenguaje de programación C#
Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron
escritas originalmente usando un sistema de código gestionado llamado Simple
Managed C (SMC). En enero de 1999, AndersHejlsberg formó un equipo con la
misión de desarrollar un nuevo lenguaje de programación llamado Cool (Lenguaje
C orientado a objetos). Este nombre tuvo que ser cambiado debido a problemas
de marca, pasando a llamarse C#. La biblioteca de clases de la plataforma .NET
fue migrada entonces al nuevo lenguaje.
Hejlsberg lideró el proyecto de desarrollo de C#. Anteriormente, ya había
participado en el desarrollo de otros lenguajes como Turbo Pascal, Delphi y J++.
C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a
objetos desarrollado y estandarizado por Microsoft como parte de su
plataforma .NET, que después fue aprobado como un estándar por
la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de
programación diseñados para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma
.NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
Ejemplo:
Ejemplo básico "Hola mundo":
usingSystem;
publicclassEjemplo{
publicstaticvoid Main(string[]args){
Console.WriteLine("Hola mundo");
}
7. }
Lenguaje de programación C++
C++ es un lenguaje de programación diseñado a mediados de los años 1980
por BjarneStroustrup. La intención de su creación fue el extender al
exitoso lenguaje de programación C con mecanismos que permitan la
manipulación de objetos. En ese sentido, desde el punto de vista de loslenguajes
orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumó
a los otros dos paradigmas que ya estaban admitidos (programación
estructurada y la programación orientada a objetos). Por esto se suele decir que el
C++ es un lenguaje de programación multiparadigma.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje
fue utilizado por primera vez fuera de un laboratorio científico. Antes se había
usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento
de C" y se refiere a que C++ es una extensión de C.
Ejemplo:
#include <iostream>
int main()
{
std::cout<<"Holamundon";
return0;
}
Lenguaje de prgramacion Pascal
Pascal es un lenguaje de programación desarrollado por el profesor
suizo NiklausWirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo
era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos,
utilizando la programación estructurada y estructuración de datos. Sin embargo
con el tiempo su utilización excedió el ámbito académico para convertirse en una
herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación
estructurado fuertemente tipado. Esto implica que:
1. El código está dividido en porciones fácilmente legibles llamadas funciones
o procedimientos. De esta forma Pascal facilita la utilización de
la programación estructurada en oposición al antiguo estilo
de programación monolítica.
8. 2. El tipo de dato de todas las variables debe ser declarado previamente para
que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático francés Blaise Pascal.
Ejemplo:
PROGRAMHolaMundo(OUTPUT);
BEGIN
WriteLn('¡HolaMundo!')
END.
Lenguaje de programación Smalltalk
Los orígenes de Smalltalk se encuentran en las investigaciones realizadas
por Alan Kay, Dan Ingalls, Ted Kaehler, AdeleGoldberg y otros durante los años
setenta en el Palo Alto ResearchInstitute 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.
Smalltalk es un lenguaje reflexivo de programación, orientado a objetos y
con tipado dinámico. Por sus características, Smalltalk puede ser considerado
también como un entorno de objetos, donde incluso el propio sistema es un objeto.
Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde
viven objetos que se comunican entre sí, mediante el envío de mensajes.
Un sistema Smalltalk está compuesto por:
Una Máquina virtual (Virtual machine)
Un archivo llamado "Imagen", que contiene a todos los objetos del sistema
Un lenguaje de programación (también conocido como Smalltalk)
Una enorme biblioteca de "objetos reusables"
Y generalmente, un entorno de desarrollo que además puede funcionar como
un sistema en tiempo de ejecución.
Ejemplo:
Transcript show: '¡Hola, mundo!'
Lenguaje de programación Ruby
Ruby es un lenguaje de programación interpretado, reflexivo y orientado a objetos,
creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a
9. trabajar en Ruby en 1993, y lo presentó públicamente en 1995. Combina una
sintaxis inspirada en Python y Perl con características de programación orientada
a objetos similares a Smalltalk. Comparte también funcionalidad con otros
lenguajes de programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de
programación interpretado en una sola pasada y su implementación oficial es
distribuida bajo una licencia de software libre.
Ejemplo:
$ irb
irb(main):001:0>puts"Hola mundo"
Hola mundo
=>nil
irb(main):002:0>1+2
=>3
Lenguaje de programación Python
Python fue creado a finales de los ochenta por Guido van Rossum en el Centro
para las Matemáticas y la Informática (CWI, CentrumWiskunde&Informatica), en
losPaíses Bajos, como un sucesor del lenguaje de programación ABC, capaz
de manejar excepciones e interactuar con el sistema operativo Amoeba.
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié
en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que
soporta orientación a objetos, programación imperativa y, en menor
medida, programación funcional. Es un lenguaje interpretado, usa tipado
dinámico y es multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de código
abierto, denominada Python Software Foundation License,1
que es compatible con
la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en
ciertas versiones anteriores.
Ejemplo:
print"¡Hola Mundo!"
Lenguaje de programación Visual Basic .NET
10. Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a
objetos que se puede considerar una evolución de Visual Basic implementada
sobre el framework .NET. Su introducción resultó muy controvertida, ya que
debido a cambios significativos en el lenguaje VB.NET no es retrocompatible con
Visual Basic, pero el manejo de las instrucciones es similar a versiones anteriores
de Visual Basic, facilitando así el desarrollo de aplicaciones más avanzadas con
herramientas modernas.
La gran mayoría de programadores de VB.NET utilizan el entorno de desarrollo
integrado Microsoft Visual Studio en alguna de sus versiones (desde el primer
Visual Studio .NET hasta Visual Studio .NET 2013, que es la última versión de
Visual Studio para la plataforma .NET), aunque existen otras alternativas,
como SharpDevelop (que además es libre).
Al igual que con todos los lenguajes de programación basados en .NET, los
programas escritos en VB .NET requieren el Framework .NET o Mono para
ejecutarse.
Ejemplo:
1. PrivateSub Form1_Load(sender As Object, e AsEventArgs) Handles
MyBase.Load
2. MsgBox("Hola Mundo")
3. EndSub