java

35
Guía #1 Clases y Objetos Arón Herrera Ponte

description

algoritmica 2

Transcript of java

Page 1: java

Guía #1Clases y Objetos

Arón Herrera Ponte

Page 2: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Abrir NetBeans IDEPasos:

1. Hacer clic al menú Inicio.2. Hacer clic en la opción Programas.3. Hacer clic en la opción NetBeans 5.0 4. Hacer clic en NetBeans IDE.

Esperamos unos segundos y aparece una ventana que muestra el avance de una barra naranja (Barra de progreso). En este momento se están leyendo y cargando los paquetes necesarios para utilizar NetBeans IDE 5.0

Luego de esperar unos segundos aparece la Interfaz de Desarrollo Integrado NetBeans IDE 5.0

Prof. Arón Herrera Ponte Pág. 2

Page 3: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Crear un Proyecto en NetBeans IDE 5.0Pasos:

1. Hacer clic en el menú File.2. Hacer clic en la opción New Project...

Aparece la ventana “New Project”3. En el cuadro Categorías, hacer clic en la carpeta General4. En el cuadro Proyectos, hacer clic en Java Application5. Hacer clic en el botón Next >

Prof. Arón Herrera Ponte Pág. 3

Page 4: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Aparece la ventana “New Java Application”

6. Escribir el nombre del Proyecto (Project Name) : Proyecto017. Hacer clic en el botón Browser, para cambiar la Localización

donde se guardará el proyecto.

Prof. Arón Herrera Ponte Pág. 4

Page 5: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Aparece la ventana “Select Project Location”8. Seleccionar una Unidad del disco duro, por ejemplo E:\ 9. Hacer clic en el botón Abrir.

Aparece de nuevo la ventana “New Java Application” con las últimas modificaciones.

10. Deshabilitar la casilla “Create Main Class”11. Hacer clic en el botón Finish.

Prof. Arón Herrera Ponte Pág. 5

Page 6: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Ahora aparece el proyecto creado “Proyecto01”. Debemos observar que se muestran 3 pestañas (Project, File y Runtime) que nos permitirán administrar nuestro proyecto.

Cerrar un Proyecto en NetBeans IDE 5.0Pasos:

Ahora observamos que el nombre de nuestro proyecto ya no se muestra.

Prof. Arón Herrera Ponte Pág. 6

Hacer clic en la pestaña Project.

Hacer clic derecho sobre el nombre del proyecto que deseamos cerrar.

Hacer clic en la opción Close Project.

Page 7: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Abrir un Proyecto existente en NetBeans IDE 5.0Pasos:

1. Hacer clic en el menú File.2. Hacer clic en la opción Open Project…

Aparece la ventana “Open Project”Para nuestro caso vamos a abrir “Proyecto01” que se encuentra en la Unidad “E” de nuestro disco duro.

3. Hacer clic en la Unidad (E:)Prof. Arón Herrera Ponte Pág. 7

Page 8: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

4. Hacer clic en Proyecto015. Hacer clic en el botón Open Project Folder

Nota: Para seleccionar el proyecto, debemos buscar aquellas carpetas que tengan un pequeño cuadrado amarillo en el borde inferior derecho.

Aparece el nombre de nuestro proyecto.

Prof. Arón Herrera Ponte Pág. 8

Page 9: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Crear un Paquete Java en NetBeans IDE 5.0Pasos

1. Hacer clic en la pestaña File2. Hacer clic doble clic en el nombre de nuestro proyecto

3. Hacer clic derecho en la carpeta SRC4. Hacer clic en la opción New5. Hacer clic en la opción Java Package…

Prof. Arón Herrera Ponte Pág. 9

Page 10: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Aparece la ventana “New Java Package”6. Escribir el nombre del paquete (Package Name) : jpackGuia017. Hacer clic en el botón Finish

Aparece el nombre del paquete creado “jpackGuia01”

Prof. Arón Herrera Ponte Pág. 10

Page 11: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Crear una Clase Java en NetBeans IDE 5.0Pasos:

1. Hacer clic derecho en el paquete “jpackGuia01”2. Hacer clic en la opción New3. Hacer clic en la opción Java Class…

Aparece la ventana “New Java Class”4. Escribir el nombre de la clase (Class Name) : jclsPunto5. Hacer clic en el botón Finish

Prof. Arón Herrera Ponte Pág. 11

Page 12: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Aparece en el lado derecho una pestaña con el nombre del archivo creado “jclsPunto.java” , esta pestaña muestra el código de la clase “jclsPunto” escrito en el Lenguaje de Programación Java.

Se recomienda borrar los comentarios que se generaron al momento de crear la clase “jclsPunto”.

Prof. Arón Herrera Ponte Pág. 12

Page 13: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

El cuerpo de la clase, estará encerrado entre llaves { }Los atributos (variables) y métodos (funciones) constituyen la clase. No es obligatorio, pero en general se listan primero los atributos y luego los métodos

Declaración de atributosEn Java no hay variables globales; todas las variables se declaran dentro del cuerpo de la clase o dentro de un método. Las variables declaradas dentro de un método son locales al método; las variables declaradas en el cuerpo de la clase se dice que son miembros de la clase y son accesibles por todos los métodos de la clase.

Finalmente, los atributos miembros de la clase pueden ser atributos de clase o atributos de instancia; se dice que son atributos de clase si se usa la palabra clave static: en ese caso la variable es única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria). Si no se usa static, el sistema crea un lugar nuevo para esa variable con cada instancia (o sea que es independiente para cada objeto).

La declaración sigue siempre el mismo esquema:

[private|protected|public] [static] [final] [transient] [volatile] Tipo NombreVariable [= Valor];

private, protected o publicJava tiene 4 tipos de acceso diferente a las variables o métodos de una clase: privado, protegido, público o por paquete (si no se especifica nada).

De acuerdo a la forma en que se especifica un atributo, los objetos tendrán distintas posibilidades de acceso:

Acceso desde: private protected public (package)

la propia clase S S S Ssubclase en el mismo paquete N S S Sotras clases en el mismo paquete N S S Ssubclases en otros paquetes N X S Notras clases en otros paquetes N N S N

S: puede acceder N: no puede acceder X: puede acceder al atributo en objetos que pertenezcan a la subclase, pero no en los que pertenecen a la clase Padre.

Prof. Arón Herrera Ponte Pág. 13

Page 14: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Declaración de Atributos de la clase “jclsPunto”

private double x;private double y;

Declaración de Métodos

[private|protected|public] [static] [abstract] [final] [native] [synchronized] TipoDevuelto NombreMétodo ( [tipo1 nombre1[, tipo2 nombre2 ]…] ) [throws excepción1 [,excepción2]… ]

Básicamente, los métodos son como las funciones de C/C++: Implementan operaciones y estructuras de control, el cálculo de algún parámetro que es el que devuelven al objeto que los llama. Sólo pueden devolver un valor (del tipo TipoDevuelto), aunque pueden no devolver ninguno (en ese caso TipoDevuelto es void).

Como ya veremos, el valor de retorno se especifica con la instrucción return, dentro del método.

Los métodos pueden utilizar valores que les pasa el objeto que los llama (parámetros), indicados con tipo1 nombre1, tipo2 nombre2… en el esquema de la declaración.

Estos parámetros pueden ser de cualquiera de los tipos conocidos. Si son tipos básicos, el método recibe el valor del parámetro; si son arrays, clases o interfases, recibe un puntero a los datos (referencia).

Prof. Arón Herrera Ponte Pág. 14

Page 15: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Método ConstructorTanto Java como C++ soportan la noción de constructor. El constructor es un tipo específico de método que siempre tiene el mismo nombre que la clase y se utiliza para construir objetos de esa clase. No tiene tipo de dato específico de retorno, ni siquiera void. Esto se debe a que el tipo específico que debe devolver un constructor de clase es el propio tipo de la clase.

En este caso, no se puede especificar un tipo de retorno, ni se puede colocar ninguna sentencia que devuelva un valor. Los constructores pueden sobrecargarse, y aunque puedan contener código, su función primordial es inicializar el nuevo objeto que se instancia de la clase. En C++, el constructor se invoca automáticamente a la hora de crear un objeto. En Java, ha de hacerse una llamada explícita al constructor para instanciar un nuevo objeto.

Cuando se declara una clase en Java, se pueden declarar uno o más constructores opcionales que realizan la inicialización cuando se instancia (se crea una ocurrencia) un objeto de dicha clase.

Tanto en Java como en C++, si no se proporciona explícitamente un constructor, el sistema proporciona uno por defecto que inicializará automáticamente todas las variables miembro a cero o su equivalente, en Java. En C++, el constructor de defecto no realiza ningún tipo de inicialización.

Implementación del Método Constructor jclsPunto()

Implementación del Método Constructor por Parámetro jclsPunto(double x, double y)

Prof. Arón Herrera Ponte Pág. 15

Page 16: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Dentro de un método, el identificador this contiene una referencia al objeto con que se invocó este método.

Método main()El método main(), es el cerebro de cualquier aplicación Java. Cuando se ejecuta una aplicación Java utilizando el intérprete Java, se debe especificar el nombre de la clase que se desea ejecutar. El intérprete entonces, invoca al método main() definido dentro de esa clase, que debe controlar el flujo del programa, pedir al sistema los recursos que necesite y ejecutar cualquier otro método necesario para completar la funcionalidad de la aplicación.

La definición del método main() debe estar precedida por tres modificadores:

public indica que el método main() puede ser llamado por cualquier objeto

static indica que el método main() es un método estático, es decir, un método propio de la clase

void indica que el método main() no devolverá ningún valor

El método main() en Java es similar a la función main() de C y C++. Cuando se ejecuta un programa escrito en C o C++, arranca llamando en primer lugar a la función main(), que llamará a las demás funciones necesarias en la ejecución del programa. De forma similar, en el lenguaje Java, cuando se ejecuta una clase con el intérprete Java, el sistema comienza llamando al método main() de la clase, que llamará a los demás métodos necesarios para completar la ejecución de la aplicación. Si se intenta ejecutar una clase con el intérprete Java que no contenga el método main(), el intérprete generará un mensaje de error.

Prof. Arón Herrera Ponte Pág. 16

Page 17: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

El método main() acepta como argumento un array de Strings:

public static void main( Strings args[ ] ) {

}

Este array de Strings es el mecanismo a través del cual el sistema puede pasar información a la aplicación. Cada una de las cadenas String es un argumento de línea de comandos. Permiten pasar información a la aplicación, para variar su ejecución, sin necesidad de recompilarla.

Implementación del Método main(String args[ ])

Instanciar ObjetosPara instanciar un objeto el método que se utiliza es "new". "New" crea un objeto de la clase que le especifiquemos pero antes de esto se tiene que declarar la variable que contendrá ese nuevo objeto.

Ejm:

jclasPunto P = new jclsPunto();

Después de ser instanciado un nuevo objeto P, el valor de los atributos “x , y” en el objeto P será igual a “0 y 0” respectivamente.

Prof. Arón Herrera Ponte Pág. 17

Page 18: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Crear el Objeto P de la clase jclsPunto

Imprimir mensajes por consolaPara imprimir mensajes en la consola se utilizan llamadas al método println() de la clase System.

System.out.println( "Hola, mundo…" );

Mostrar por consola el valor de los atributos del Objeto P

Prof. Arón Herrera Ponte Pág. 18

Page 19: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Compilar un archivo Java en NetBeans IDE 5.0Pasos:

1. El cursor del Mouse debe estar entre las líneas de código.2. Hacer clic en el menú Build3. Hacer clic en la opción Compile “<nombre_archivo>.java”

O simplemente presione la tecla F9.

Prof. Arón Herrera Ponte Pág. 19

Page 20: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Ejecutar un archivo Java en NetBeans IDE 5.0Pasos:1. El cursor del Mouse debe estar entre las líneas de código.2. Hacer clic en el menú Run3. Hacer clic en la opción Run File >4. Hacer clic en la opción Run “<nombre_archivo>.java” Mayúscula

+ F6

O simplemente presione la combinación de teclas Shilft + F6

Prof. Arón Herrera Ponte Pág. 20

Page 21: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Métodos del tipo set y get.

set: Este tipo de método se utiliza cuando se va a ingresar, asignar o establecer valor a un atributo de la clase.get: Este tipo de método se utiliza cuando se va a obtener o retornar el valor de un atributo de la clase.

Ejm: Métodos de tipo set

public void setX(double x){ this.x = x; } public void setY(double y){ this.y = y; }

Ejm: Métodos de tipo get

public double getX(){

Prof. Arón Herrera Ponte Pág. 21

Page 22: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

return this.x; } public double getY(){ return this.y; }

Implementación de los métodos de tipo set y get.

Ejercicios: En cada caso analizar el algoritmo e indicar los valores que se muestran por consola.

Prof. Arón Herrera Ponte Pág. 22

Page 23: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

1)

2)

Prof. Arón Herrera Ponte Pág. 23

Page 24: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

3)

4)

5)

Implementar el método leerDato()

Prof. Arón Herrera Ponte Pág. 24

Page 25: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

1) Debemos importa el paquete io

import java.io.*;

2) Escribimos el método dentro de la clase

public String leerDato(){ String dato = ""; try{ BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); dato = teclado.readLine(); }catch(Exception e){ System.out.println("Error"); } return dato;}

Implementar el método convertirCademaReal(String cadena)

1) Escribimos el método dentro de la clase

public double convertirCadenaReal(String cadena){ double numero= 999; try{ numero = Double.parseDouble(cadena); }catch(Exception e){ System.out.println("Error al momento de convertir a real"); } return numero;}

Implementar el método convertirCademaReal(String cadena)

1) Escribimos el método dentro de la clase

public void mostrar(String texto){ System.out.println(texto);}

Prof. Arón Herrera Ponte Pág. 25

Page 26: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

Código completo de la clase jclsPunto

package jpackGuia01;

import java.io.*;

public class jclsPunto { private double x; private double y; public jclsPunto() { x = y = 0; } public jclsPunto(double x, double y) { this.x = x; this.y = y; } public void setX(double x){ this.x = x; } public void setY(double y){ this.y = y; } public double getX(){ return this.x; } public double getY(){ return this.y; } public String leerDato(){ String dato = ""; try{ BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); dato = teclado.readLine(); }catch(Exception e){ System.out.println("Error") } return dato; } public double convertirCadenaReal(String cadena){ double numero= 999; try{ numero = Double.parseDouble(cadena);

Prof. Arón Herrera Ponte Pág. 26

Page 27: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

}catch(Exception e){ System.out.println("Error al momento de convertir a real"); } return numero; } public void mostrar(String texto){ System.out.println(texto); } public static void main(String args[]){ jclsPunto P = new jclsPunto(); double num; do{ P.mostrar("Ingrese la Abcisa (x) = "); num = P.convertirCadenaReal(P.leerDato()); }while(num == 999); P.setX(num); do{ P.mostrar("Ingrese la Ordenada (y) = "); num = P.convertirCadenaReal(P.leerDato()); }while(num == 999); P.setY(num); P.mostrar("(x,y) = (" + P.getX() + " , " + P.getY() + ")"); } }

Prof. Arón Herrera Ponte Pág. 27

Page 28: java

Grupo de Estudios FENIXAprendes, Creas e Innovas…

JAVA - Clases y Objetos

NUNCANUNCA

NUNCANUNCA

NUNCATE RINDAS

….

Prof. Arón Herrera Ponte Pág. 28