lunes, 22 de noviembre de 2010

Lenguajes Orientados a objetos (Puntos extra)

 Lenguajes Orientados A Objetos

Esta es una pequeña reseña sobre lo que son los Lenguajes orientados a objetos, entre los mas comunes tenemos el C++ , Java, el Phyton , el small talk entre otros.

Primero ¿ a que se le llama lenguaje orientado a objetos? se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos.

Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos.

Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos , de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos.
Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X-Window utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets).

La programación orientada a objetos, intenta simular el mundo real a traves del significado de objetos que contiene caracteristicas y funciones. Los lenguajes orientados a objetos se clasifican como lenguajes de quinta generacion.
Como su mismo nombre indica, la programación orientada a objetos se basa en la idea de un objeto, que es una combinacion de variables locales y procedimientos llamados metodos que juntos conforman una entidad de programación.

En la programación orientada a objetos se define la herencia como una jerarquia de extracciones, y la relacion 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 abstraccion o superclase. 

Un ejemplo cotidiano lo encontramos en las aplicaciones que existen cactualmente en el mercado, donde un formulario cualquiera hereda las caracteristicas de uan ventana del sistema operativo Windows (Maximizar, Minimizar, Cerrar)

Bueno y una lista con algunos de los lenguajes de este paradigma:

  • C++
  • Objective C
  • Java
  • Smalltalk
  • Eiffel
  • Lexico (en castellano)
  • Ruby
  • Python
  • OCAML
  • Object Pascal
  • CLIPS
  • Visual .net
  • Actionscript
  • COBOL
  • Perl
  • C#
 
 Un ejemplo en C++, La serie de fibonacci

#include <iostream.h>
#include <stdlib.h>
void main()
{
int a,b,x,c,l;
a=1; b=1; x=0; c=0;
cout<<"Introduce el limite de la serie: "; cin>>l;
if (l>0) {
    if (l==1) cout<<"1"<<endl;
          else
            {
            cout<<endl<<a<<", "<<b<<", ";
            while (c<l-2)
              {
               c++;
               x=a+b;
               cout<<x<<", ";
               a=b;
               b=x;
              }
            }
        }
  }

 


Serie de Fibonacci en Java

public class Fibonacci
{

public static void main (String [] args)
{

int f1=1, f2=1;
System.out.println (f1);
while (f1<200){
System.out.println(f2);
f2+=f1;
f1 = f2 - f1;
}

}

}


Biblografía:

Lenguajes Orientados a Objetos

Lenguajes orientados a objetos - Otra referencia

El ejemplo

1 comentario: