lenguajes de programación orientados a objetos

19
Lenguajes de Programación Orientados a Objetos Java Lenguaje de programación Java Es un lenguaje de programación de propósito general, 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, lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser re-compilado para correr en otra. Java se basa en otros lenguajes: -Sentencias comunes de C y C++ (sintaxis parecida a dichos lenguajes) -Concurrencia parecida a la de Mesa (un lenguaje de investigación de Xerox) -Interrupciones parecidas a las de Modula-3 -Tratamiento de enlace dinámico de código nuevo parecido al de Lisp -Definiciones de interfaces parecidas a las de Objective C

Upload: doris-aguagallo

Post on 16-Dec-2014

80 views

Category:

Education


5 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Lenguajes de programación orientados a objetos

Lenguajes de Programación Orientados a Objetos

Java

Lenguaje de programación Java

Es un lenguaje de programación de propósito general, 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, lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser re-compilado para correr en otra.

Java se basa en otros lenguajes:

-Sentencias comunes de C y C++ (sintaxis parecida a dichos lenguajes)

-Concurrencia parecida a la de Mesa (un lenguaje de investigación de Xerox)

-Interrupciones parecidas a las de Modula-3

-Tratamiento de enlace dinámico de código nuevo parecido al de Lisp

-Definiciones de interfaces parecidas a las de Objective C

-Gestión de almacenamiento automático parecida a la de Lisp

Características

Sun describe al lenguaje Java de la siguiente manera:

-Simple

-Orientado a Objetos

-Interpretado

-Robusto

Page 2: Lenguajes de programación orientados a objetos

-Seguro

-Arquitectura Neutral

-Multi-hilo

-Recolector de basura (Garbage Collector)

-Portable

-Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software

-Dnámico

A continuación se describa algunas de las características más importantes de Java:

Orientado a objetos

Se refiere a un método de programación y al diseño del lenguaje. Aunque hay muchas interpretaciones para la POO, una primera idea es diseñar el software de forma que los distintos tipos de datos que usen estén unidos a sus operaciones. Así, los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos

El objetivo es hacer que grandes proyectos sean fáciles de gestionar y manejar, mejorando como consecuencia su calidad y reduciendo el número de proyectos fallidos.

Potabilidad

Los programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. Este es el significado de ser capaz de escribir un programa una vez y que pueda ejecutarse en cualquier dispositivo

Recolector de Basura

En Java el problema fugas de memoria se evita en gran medida gracias a la recolección de basura (o automatic garbage collector). El programador determina cuándo se crean los objetos y el entorno en tiempo de ejecución de Java (Java runtime) es el responsable de gestionar el ciclo de vida de los objetos. El programa, u otros objetos pueden tener localizado un objeto mediante una referencia a éste. Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el objeto, liberando así la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y únicamente usado dentro de un método sólo tiene entidad dentro de éste; al salir del método el objeto es eliminado).

Page 3: Lenguajes de programación orientados a objetos

Seguro

El código Java pasa muchos tests antes de ejecutarse en una máquina. El código se pasa a través de un verificador de bytecodes que comprueba el formato de los fragmentos de código y aplica un probador de teoremas para detectar fragmentos de código ilegal -código que falsea punteros, viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto

Elementos Básicos de Java

Identificadores

Un identificador es el nombre de variables, métodos, clases e interfaces. Un identificador es una secuencia ilimitada de caracteres alfabéticos o dígitos (unicode) que comienzan con un carácter alfabético. Los nombres pueden incluir el carácter subrayado (_) y el dólar ($).

-Los identificadores que comienzan con una letra mayúscula se reservan solo para nombres de clase o interfaces.

-Los identificadores que están todos en mayúsculas representan constantes.

-Los nombres de las variables y métodos comienzan con letras minúsculas.

Tipos de Datos

Estos definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha información ha de ser interpretada

Page 4: Lenguajes de programación orientados a objetos

Palabras Reservadas

Son identificadores predefinidos que tienen un significado para el compilador y por tanto no pueden usarse como identificadores creados por el usuario en los programas.

Las palabras reservadas se pueden clasificar en las siguientes categorías:

Page 5: Lenguajes de programación orientados a objetos

Tipos de datos: Boolean, float, double, int, char

Sentencias condicionales: if, else, switch

Sentencias iterativas: for, do, while, continue

Tratamiento de las excepciones: try, catch, finally, throw

Estructura de datos: class, interface, implements, extends

Modificadores y control de acceso: public, private, protected, transient

Otras: super, null, this.

Operadores

Los operadores permiten a las expresiones combinarse en expresiones más complejas.

Java proporciona una colección grande de operadores que se pueden utilizar para manipular datos, incluyendo operadores aritméticos, asignación, lógicos y de moldeado.

Sentencias

Una sentencia es una orden que se le da al programa para realizar una tarea específica, esta puede ser: mostrar un mensaje en la pantalla, declarar una variable, inicializarla, llamar a una función, etc.

Las sentencias acaban con”;”. Este carácter separa una sentencia de la siguiente.

Page 6: Lenguajes de programación orientados a objetos

Ventajas

Multi-plataforma: No es necesario volver a escribir el código para otra plataforma

Lenguaje Orientado a Objetos: Reusabilidad del código; para más información de las ventajas de la POO revise el siguiente enlace:

http://gonblog22.blogspot.com/2010/07/ventajas-de-la-programacion-orientada.html

Robusto: Maneja la memoria por nosotros, no hay que preocuparse por los apuntadores

Desventajas

La Velocidad: Los programas hechos en java no tienden a ser muy rápidos

Costo: Algunas herramientas tienen un costo adicional

Soporte Técnico: Hay diferentes tipos de soporte para la misma herramienta por lo que elegir la mejor opción se dificulta

Software para programar en Java

Eclipse

Proyectos

Page 7: Lenguajes de programación orientados a objetos

En el entorno de desarrollo Eclipse todo archivo se almacena dentro de un proyecto.

Esto quiere decir que todo documento, carpeta, archivo de código fuente (.java) y código compilado (.class) tiene que estar contenido dentro de un proyecto. Así pues, el primer paso antes de usar Eclipse para programar en Java es comprender la estructura de proyectos de Eclipse.

Es necesario crear un nuevo proyecto no sólo para desarrollar un nuevo programa de Java, sino para editar también archivos ya existentes.

Para crear un nuevo proyecto, seleccione en la línea de menús principal"File>New>Project...".

También es posible seleccionar "New > Project..." haciendo clic derecho en cualquier parte una vista de Eclipse (como por ejemplo, el Package Explorer o el Resource Navegador).

A continuación le damos un nombre a la clase y le damos clic en finish.

Page 8: Lenguajes de programación orientados a objetos

Ahora que ya tenemos un proyecto podemos crear clases dentro de él y así crear nuestro programa, a continuación detallamos como crear clases

Clases

Las clases de Java son los archivos ".java" que contienen el código fuente y que serán posteriormente compilados en archivos ".class". Estos archivos Java tienen que ser almacenados dentro de la carpeta fuente recientemente creada (por ejemplo, "src").

Pulse "New > Class" para abrir la ventana de creación de clases.

Page 9: Lenguajes de programación orientados a objetos

La carpeta fuente especificada debería ser la carpeta recientemente definida (src).

Si no se especifica ningún paquete para contener las clases Java, se guardarán dentro de un

Paquete por defecto. El último campo obligatorio que debería ser rellenado antes de proceder a la creación de la clase Java es el propio nombre de la clase.

Las convenciones de Java sugieren que el nombre de una clase debería comenzar con mayúscula. En este ejemplo se ha usado el nombre "EjemploDeClase".

Ahora que ya tenemos creada nuestra clase podemos empezar a escribir el código dentro de ellas además se detallan los tipos de documentación existentes en Java.

Ejemplo:

Class EjemploDeClase{

Public static void main (String args [])

{

Page 10: Lenguajes de programación orientados a objetos

//comentario en una línea

/*Comentario

en2 líneas o en varias */

/** Comentario para documentación */

System.out.println ("Saludos Bienvenidos"+" adiós");

}

}

Sintaxis de Sentencias y Métodos en Java

El método main

Cada aplicación Java (no los applets) debe tener un método main que es donde comienza la ejecución de la misma. Es decir que, para ejecutar un programa el intérprete de Java comienza llamando al método main().

Este método se llama antes de la creación de un objeto y ha de declararse como static para que se pueda llamar sin tener que referirse a una instancia particular de la clase. Como además es llamado por código fuera de su clase también tiene que ser declarado como public, que es la forma de permitir que un miembro de una clase pueda ser utilizado por código que está fuera de la misma. La palabra reservada void indica que main no devuelve nada.

public static void main(String[] args)

{

}

String [] args es la declaración de un array de String, mediante el cual la clase podría tomar un número variable de parámetros en la línea de órdenes; aunque no se use es necesario incluir este parámetro cuando se define el método main()

Sentencias de declaración

Tipo nombre Variable;

Ejemplos

Page 11: Lenguajes de programación orientados a objetos

int longitud;

doublé e;

Sentencias de asignación

Una sentencia se asignación asigna el valor de la expresión en el lado derecho a la variable del lado izquierdo.

nombre = expresión Legal;

Ejemplos

Longitud = 5 + 7;

i += 5;

Método print ( )

Print ( ) imprime el argumento parado a la salida estándar (normalmente la consola). Sin un carácter fin de línea.

Método println ( )

Println ( ) es similar al método print ( ) excepto un carácter fin de línea o secuencia se añade al final.

Nota: Para utilizar los métodos print y println debemos anteponer lo siguiente "System.out". , además para concatenar impresiones en una sola sentencia utilizamos el simbolo "+".

Entrada de Datos

Al igual que en C++, en java también se pueden importar librerías (paquetes) con las instrucción

Import. La clase Scanner que se encuentra dentro del paquete útil, es la clase que nos permite introducir datos por teclado, además debemos crear un Scanner con la sintaxis que se describe a continuación:

Entrada de Cadenas next()

Import java.util.Scanner;

Class Ejemplo2

Page 12: Lenguajes de programación orientados a objetos

{

public static void main(String args[])

{

Scanner en=new Scanner(System.in); // creación del nuevo Scanner

System.out.println ("introduzca su nombre:");

String nombre=en.next(); //next permite introducir sólo una palabra por teclado

System.out.print("Hola "+nombre);

}

}

Entrada de números enteros nextInt ()

Import java.util.Scanner;

Class Ejemplo3

{

Public static void main (String args [])

{

Scanner en=new Scanner (System.in);

int a=en.nextInt();

int b=en.nextInt();

int c=a+b;

System.out.print(c);

}

}

Entrada de números flotantes nextFloat()

import java.util.Scanner;

class Ejemplo4

{

Page 13: Lenguajes de programación orientados a objetos

public static void main(String args[])

{

Scanner en=new Scanner (System.in);

float a=en.nextFloat();

float b=en.nextFloat ();

float c=a/b;

System.out.print(c);

}

}

Nota: También puede usar para datos doublés nextDouble()

Sentencias de Selección

Sentencia if

Las sentencias de selección proporcionan control sobre dos alternativas basadas en el valor lógico de una expresión.

if (expresión Lógica)

{

//bloque de sentencias

}

else

{

//bloque de sentencias

}

Sentencia switch

La sentencia switch es la bifurcación múltiple

Switch (opcion)

Page 14: Lenguajes de programación orientados a objetos

{

case 1:

instrucciones;

break;

case 2:

instrucciones;

break;

case 3:

instrucciones;

break;

default;

instrucción;

break;

}

Sentencias de Repetición

Sentencia while

La sentencia while se utiliza para crear repeticiones de sentencias en el flujo del programa.

while (expresión Lógica)

{

bloque Sentencias

}

Sentencia do-while

La sentencia do-while se utiliza para repetir la ejecución de sentencias y se ejecuta al menos una vez.

do

{

Page 15: Lenguajes de programación orientados a objetos

Bloque Sentencias //el bloque Sentencias se ejecuta al menos una vez

} While (expresión Lógica);

Sentencia for

La sentencia for se usa para repetir un número fijo de veces la ejecución de una serie de sentencias

For ([iniciación]; [condiciónDeTest]; [actualización])

Sentencias

Arreglos

Un array es un grupo de variables de tipos similares que se conocen con un nombre Común.

Tipo [ ] nombreArray=new tipo variable [longituddelArray];

Ejemplo:

Int [] a=new int [100]; //arreglo de una dimensión (vector)

Int [][] a=new int [100] [100]; //arreglo de dos dimensiones (matrices)

Impresión con un número específico de Decimales

Primero importamos la clase: java.text.DecimalFormat

Ahora definimos el nombre y la cantidad de decimales a utilizar siguiendo la sintaxis:

DecimalFormat nombre asignado=new DecimalFormat ("formatodelnumerodecimal");

Ejemplo:

DecimalFormat decimales=new DecimalFormat ("0.00");

Para la impresión seguimos la siguiente sintaxis:

System.out.println (nombreasignado.format(variable));

Page 16: Lenguajes de programación orientados a objetos

Ejemplo:

System.out.println(decimales.format(sum));

Para obtener más detalles sobre la sintaxis de Java visite los siguientes enlaces:

http://www.mhe.es/universidad/informatica/8448132904/archivos/general_apendice3.pdf

http://sisuatf.galeon.com/pro2/introduccion.pdf

Si deseas ejemplos de código en Java ve a la pestaña Código en Java que está en la parte superior de este blog

Web grafía:

http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)

http://www.mhe.es/universidad/informatica/8448132904/archivos/general_apendice3.pdf

https://docs.google.com/presentation/d/18rcrq1sDWlkwJgCDAbvJwhd_uLpBWXbewKwan_QOvH4/edit#slide=id.g172f2171b_354

http://personales.upv.es/rmartin/cursoJava/Java/Introduccion/PrincipalesCaracteristicas.htm

http://gonblog22.blogspot.com/2010/07/ventajas-de-la-programacion-orientada.html

http://ocw.uc3m.es/ingenieria-telematica/software-de-comunicaciones-1/jme/eclipseME.pdf/at_download/file