miércoles, 24 de noviembre de 2010

lenguajes Orientados 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.

Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.
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.

  • C++
  • Objective C
  • Java
  • Smalltalk
  • Eiffel
  • Lexico (en castellano)
  • Ruby
  • Python
  • OCAML
  • Object Pascal
  • CLIPS
  • Visual .net
  • Actionscript
  • COBOL
  • Perl
  • C#
  • Visual Basic.NET
  • PHP
  • Simula
  • Delphi
  • PowerBuilder
Java
Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.

Este programa lee un archivo denominado "archivo.txt", posteriormente cuenta el número de palabras que contiene. 
import java.io.*;

class LeeFichero {
public static void main(String [] arg)
 { File archivo = null;
try {
archivo = new File("archivo.txt");//"archivo.txt" es el archivo que va a leer
String linea;
FileReader fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
int i,j,a=0;
while((linea=br.readLine())!=null) {
for(i=0;i<linea.length();i++)
{if(i==0)
   {if(linea.charAt(i)!=' ')
    a++;
   }
   else
   {if(linea.charAt(i-1)==' ')
     if(linea.charAt(i)!=' ')   
       a++;
   
   }   
}
}

System.out.println("son "+a+" palabras");

fr.close();
}
catch(IOException a){
System.out.println(a);
}
}
}
  
PHP  
PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI (Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en diferentes formatos.

ejemplo
<?php
include('lib/Tablesclass.php');
include('lib/config.php');
include ('lib/class_mysql.php');
$i=0;
$pt=new MySql_Manipulate(DBserver,DBuser,DBpass);
$pt->DB_conect();
$pt->Slect_BD(DBdatos);
mysql_query("TRUNCATE TABLE `util_subdpto`") ;
$get=$_GET['di'];
if(empty($_GET['di']))
{
echo "No existe ningun Sub-Dpto";
}
else {
$QUER=$pt->Ejecut_query("SELECT id_subdpto FROM subdpto  WHERE id_dpto=".$_GET['di']."");

if(!$QUER)
{
echo "No existe ningun Sub-Dpto";   
}
else
{
while ($row = mysql_fetch_array($QUER, MYSQL_NUM))
{
 $ARRAY[$i] =$row[0]; 
 mysql_query("INSERT INTO `util_subdpto` (`id_temp` ,`id_subdpto`) VALUES (NULL , '".$row[0]."')");
 $i++;
}
 if(count($ARRAY)>0)
 {
 $obje=new Ctable();
 $ruta=$pt->load_icon_office();
 $obje->Dotable_22($ARRAY,$get, $ruta);
 }
 else
 {
 echo"Dpto vacio";   
 }
}   
}
?>



 Codigo en C ++
 Esta función realiza la lectura de un vector A, selecciona los numeros comprendidos entre 0 y 10, y los traslada al vector B
#include <iostream.h>
#include <conio.h>
main()
{int a[5],b[5],i,n,k=0;
 cout<<"\nIngrese el l¡mite del vector";
 cin>>n;
 for(i=0;i<n;i++)
 {cout<<"\n Ingrese a["<<i<<"]=";
  cin>>a[i];
 }
 for(i=0;i<n;i++)
  {if(a[i]>=0&&a[i]<=10)
   {b[k]=a[i];k++;}
  }
 cout<<"\nLos elementos entre 0 y 10 son:";
 for(i=0;i<k;i++)
 cout<<"\nb["<<i<<"]="<<b[i];
  getch();
  return 0;
}

1 comentario:

  1. Los ejemplos en Java y C++ no tienen nada que ver con orientación a objetos. +2 en segundas.

    ResponderEliminar