miércoles, 17 de noviembre de 2010

Reporte # 7

Lenguajes Orientados a Objetos

Una pequeña introduccion a este tipo de lenguajes

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.

Algunos ejemplos de lenguajes orientados a objetos:
C++
Java
Smalltalk
Eiffel
Ruby
Python
COBOL
Perl
PHP
Delphi


Lenguaje C++

Aqui un pequeño ejemplo explicado de el lenguaje orientado a objetos de C++.






#include (iostream) //esta primera linea es mas que nada la libreria que necesitamos para compilar nuestro programa//

using namespace std; //es mas que nada una biblioteca estandar que se declaran dentro de la misma casi siemre la utilizamos//

class rectangulo { // aqui estamos declarando la clase que es llamada rectangulo//

int ancho, altura; //aqui son los miembros lo que conforma la clase que es el ancho y la altura//

public : // el public no quiere decir que nuestras variables seran publicas//

void set_values ( int , int ); //aqui pues es como que esta declarando valores que van a ser enteros//

int area () { //declara area es la que se va obtener//
return
(ancho*altura);} // aqui estamos poniendo la formula para sacar el area del triangulo//
};
void rectangulo::set_values ( int a, int b) //los :: los usamos para especificar que estamos definiendo una funcion que es miembro de la clase rectangulo y no una global//

{
ancho = a; altura = b; //aqui declaramos a y b de la linea anterior con respecto al ancho y la altura//
}
int main () { //esta linea es mas que nada donde se inicia el programa en si donde va a pedir, imprimirte los resultados//

rectangulo rectanguloA, rectanguloB; //aqui definimos que en la clase rectangulo vamos a tener 2 a los que sacaremos el area//

rectanguloA.set_values (3,4); //aqui ya le declararemos valores del ancho y altura del rectangulo//

rectanguloB.set_values (5,6);

cout << "rectanguloA area: " << color="#ff0000">// aqui ya imprimira lo que es el resultado de su area//
cout << "rectanguloB area: " <<>// esta linea se usa si utilizas windows //
return 0; // se termina el codigo//
}

Aqui la impresion de lo que pedimos en el codigo:



Les mostrare otro ejemplo similar al anterior pero con un detalle diferente porque en este use un constructor.

#include (iostream)
using namespace std;
class cuadrado { int ladoA, ladoB;
public :
cuadrado ( int , int );
int area () {
return (ladoA*ladoB);}
};
cuadrado::cuadrado ( int a, int b) // aqui esta la diferencia cuando usamos un constructor eliminamos el set_value y lo cambiamos por el nombre de la misma clase y como notan en ninguna linea aparece el set_value y de ahi realiza el mismo procedimiento.//
{
ladoA = a; ladoB = b;
}
int main () {
cuadrado cuadradoA (5,5);
cuadrado cuadradoB(10,10);
cout << "cuadradoA area: " <<>

cout << "cuadradoB area: " <<>

system ("PAUSE");

return 0; }

Aqui la impresion de este programa:





Lenguaje Java




Bueno les mostrare un programa que pues de lo que se trata es muy conocido que es la serie de Fibonacci:

import javax.swing.*; //es ua libreria de java al igual que C, java tambien cuenta con algunas librerias//

public class fibo { // aqui estamos declarando la clase que es fibo que por cierto el nombre del archivo debe ser igual a ella//

public static void main (String[]args){ //aqui es donde abrimos el main que viene con el void que nos dice que no retorna ningun valor, el public static pues es una variable publica, strings[]args) quiere decir que tenemos un argumento el cual va ser un arreglo de tipo de elementos strings.//

int fibon; //aqui declaramos fibon//

int pri = 0; // estamos declarando el pri que va ir igual a cero//

int seg = 1; // aqui el seg que es igual a uno//

int sig; //y aqui el sig que no lo igualamos a nada//

String numero; //tambien declaramos numero con string para mas adelante poder pedir el numero poniendo algo entre comillas//

numero = JOptionPane.showInputDialog("Cuantos numeros quiere"); //aqui gracias al string podemos pedir el numero y el codigo que nos aparece es la pantalla que se nos va abir para poder ingresar el numero y poder escojer si aceptas o cancelas//

fibon = Integer.parseInt(numero);

System.out.println("SerieFibonacci"); //el codigo que ingresamos como System.out.println nos sirve para poder imprimir algo que en este caso seria SerieFibonacci.//

System.out.println(pri); //imprimira el valor de pri declarado mas arriba//

for (int i = 3; i //iniciamos con la sentencia for //

sig=seg+pri; //aqui declaramos la formula de como nos va a ir imprimiendo los numeros//

System.out.println(sig); //imprime el sig que declaramos arriba//

seg = pri; //el valor que quede como seg que va pasar a ser pri//

pri = sig; // el valor que paso a ser pri pasara a ser sig//

} } }


Corriendolo con el simbolo del sistema en windows que seria con el jdk primero al momento de compilarlo nos abre la ventana que nos dice cuantos numeros quiere.


y despues de que ingresemos y le pongamos aceptar nos regresa a la pantalla del simbolo del sistema y nos dice el resultado.



y con esto termino mi reporte 7 les dejare unos links que utilize para leer algunas cosas sobre lo orientado a objetos.


http://jlmarina.net/metodos2/

http://es.wikipedia.org/wiki/Lenguaje_orientado_a_objetos

http://dis.um.es/~bmoros/

8 comentarios:

  1. como le hiciste para poder compilar en java :O yo batalle mucho.
    tu reporte me parecio muy bueno, me gusto la presentacion que le diste, con las imagenes y todo y tambien la explicaion, lo comprendi muy bien!

    ResponderEliminar
  2. Muy bien la explicacion que padre que explicas lo que se hace linea por linea, y las imagenes lo complementan. (:

    ResponderEliminar
  3. estan muy bien los programas muy completo tu reporte muy bien por las referencias tambien :P

    ResponderEliminar
  4. Muy bien tus programas, excelente la explicacion, le entendi un poco mas a estos lenguajes

    ResponderEliminar
  5. hola!

    creo que la explicacion esta a detalle, ademas de que la info que utilisaste es muy buena ...

    ResponderEliminar
  6. Bien, aunque en Java podías haberte metido todavía más con la OO.

    Calificación: 4/4

    ResponderEliminar
  7. El bucle for está incompleto.
    Por lo demás muy bien.
    Saludos.

    ResponderEliminar
  8. Me refiero al bucle for del Java de Fibonacci.

    ResponderEliminar