Vous êtes sur la page 1sur 9

UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA PROGRAMACION I GUIA #4

Introduccin a Clases, objetos, mtodos y funciones.


Clases: Una clase es una plantilla que sirve para producir y utilizar objetos. Cada objeto pertenece a una sola clase. Comnmente se dice que un objeto es una instancia de una clase. Una clase en java contiene: Atributos: propiedades de los objetos de la clase. Mtodos: procedimientos que comparten los objetos de la clase. Constructores: procedimientos que se ejecutan en el momento de la instanciacin del objeto y tiene el mismo nombre de la clase.

Declaracin de objetos. El operador new se utiliza para crear un objeto de un tipo de clase especfica, es decir, que asigne memoria para el objeto. Para utilizar el operador new tenemos dos alternativas Sintaxis 1: NombreDeClase nombreDeVariable; nombreDeVariable = new NombreDeClase(); En la primera instruccin se define la variable que apuntara a un objeto que se crea en la segunda instruccin. Sintanxis 2: NombreDeClase nombreDeVariable = new NombreDeClase(); En este caso tanto la creacin de la variable y la creacin del objeto se realizan en la misma instruccin.

Diferencia entre mtodos y funciones. Las funciones y mtodos en java sirven para la optimizacin de cdigo y la reutilizacin del mismo. Si quisiramos realizar sumas de dos o ms nmeros en diferentes puntos de la aplicacin sera un problema estar realizando el mismo cdigo de la sumatoria a cada instante que lo necesitemos, por lo tanto lo adecuado sera realizar una sola vez la suma y llamar a tal funcin cada vez que lo necesitemos. Mtodos. Es un conjunto de cdigo reutilizable del cual se puede hacer un uso continuo que se encuentra disponible en cualquier momento deseado dentro de la aplicacin. Funciones. Las funciones son similares a los mtodos la diferencia es que estas retornan un resultado lo cual puede ser almacenado dentro de una variable o impreso directamente en pantalla, mientras que los mtodos no retornan ningn tipo de dato pero a si mismo podran meterse variables al mismo mtodo lo cual podra usarse como un tipo de retorno aunque no sera lo mismo. Ejemplo #1 Implementar las operaciones matemticas vistas anteriormente en una sola clase y utilizar sus mtodos y funciones. Cree un nuevo proyecto Java Application con el nombre que desee. Luego agregue un nuevo archivo java class con el nombre OperacionesMatematicas, presionando click derecho en el paquete de su proyecto y elija las opciones como se muestra a continuacin.

Ahora escriba el siguiente cdigo en la clase OperacionesMatematicas.

1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package guia4; 6 7 /** 8 * 9 * @author Programacion I 10 */ 11 public class OperacionesMatematicas { 12 13 int potencia(int x,int y) { 14 int i,resultado; 15 for(i = 1, resultado = x; i < y; i++) 16 resultado *= x; 17 return resultado; 18 } 19 20 int factorial(int x) { 21 if( x > 1)

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 } 42

return factorial( x - 1) * x; return 1; } int suma(int x, int y) { return x + y; } int resta(int x, int y) { return x - y; } int multiplicacion(int x, int y) { return x * y; } int division(int x, int y) { return x / y; }

Es momento de implementar nuestra clase en el main de nuestro proyecto, de la siguiente manera.

1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package guia4; 6 7 import javax.swing.JOptionPane; 8 9 /** 10 * 11 * @author Programacin I 12 */ 13 public class Guia4 { 14

15 /** 16 * @param args the command line arguments 17 */ 18 19 public static void main(String[] args) { 20 // TODO code application logic here 21 int op, n1, n2 = 0, res = 0; 22 String strOp = ""; 23 OperacionesMatematicas operacion = new OperacionesMatematicas(); 24 op = Integer.parseInt(JOptionPane.showInputDialog(null, "Opciones:\n" 25 + "1. Potencia\n" 26 + "2. Factorial\n" 27 + "3. Suma\n" 28 + "4. Resta\n" 29 + "5. Multiplicacin\n" 30 + "6. Divisin\n" 31 + "Elija la operacin que desea realizar:", "Elija una Operacin", JOptionPane.QUESTION_MESSAGE)); 32 n1 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el primer nmero:", "", JOptionPane.INFORMATION_MESSAGE)); 33 if (op != 2) { 34 n2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el segundo nmero:", "", JOptionPane.INFORMATION_MESSAGE)); 35 } 36 switch (op) { 37 case 1: 38 res = operacion.potencia(n1, n2); 39 strOp = " ^ "; 40 break; 41 case 2: 42 res = operacion.factorial(n1); 43 strOp = " ! "; 44 break; 45 case 3: 46 res = operacion.suma(n1, n2); 47 strOp = " + "; 48 break; 49 case 4: 50 res = operacion.resta(n1, n2); 51 strOp = " - "; 52 break; 53 case 5: 54 res = operacion.multiplicacion(n1, n2); 55 strOp = " * "; 56 break;

57 case 6: 58 res = operacion.division(n1, n2); 59 strOp = " / "; 60 break; 61 } 62 JOptionPane.showMessageDialog(null, "Resultado:\n " 63 + n1 + strOp + n2 + " = " + res, "", JOptionPane.INFORMATION_MESSAGE); 64 65 } 66 } 67 Una clase es la estructura de un objeto, es decir, la definicin de todos los elementos de que est hecho un objeto. Un objeto es, por lo tanto, el "resultado" de una clase. En realidad, un objeto es una instancia de una clase, por lo que se pueden intercambiar los trminos objeto o instancia. Esto se ver ms a fondo cuando se estudie en el tema de programacin orientada a objetos. Por el momento basta con estudiar la estructura de una clase basada en el objeto Alumno

Ejemplo #2 Se elaborara un programa para calcular el promedio de un estudiante que cursa 5 materias, se incluir un constructor que establezca el nombre del alumno de instanciar la clase. 1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package guia4; 6 7 /** 8 * 9 * @author Programacin I 10 */ 11 public class Alumno { 12 private String nombre;

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 }

private float promedio; private float nota1, nota2, nota3, nota4, nota5; public Alumno(String n){ nombre = n; } public void introducirNotas(float n1, float n2, float n3, float n4, float n5) { nota1 = n1; nota2 = n2; nota3 = n3; nota4 = n4; nota5 = n5; } public float calcularPromedio() { promedio = (nota1 + nota2 + nota3 + nota4 + nota5) / 5; return promedio; } public String listarNotas() { String s; s = "Nombre del Alumno: "+ nombre+"\n" + "Nota 1: " + nota1 + "\n" + "Nota 2: " + nota2 + "\n" + "Nota 3: " + nota3 + "\n" + "Nota 4: " + nota4 + "\n" + "Nota 5: " + nota5 + "\n"; return s; }

La implementacin de nuestra clase es de la siguiente manera : /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 package guia4; 6 7 import javax.swing.JOptionPane; 8 9 /** 10 * 11 * @author Programacin I 12 */ 13 public class Guia4 { 14 15 /** 16 * @param args the command line arguments 17 */ 18 19 public static void main(String[] args) { 20 // TODO code application logic here 21 int op, i, n1, n2, n3, n4, n5; 22 Alumno a = new Alumno("Juan Perez"); 23 i = 0; 24 while (i == 0){ 25 op = Integer.parseInt(JOptionPane.showInputDialog(null, "Opciones:\n" 26 + "1. Introducir notas\n" 27 + "2. Listar notas\n" 28 + "3. Calcular promedio\n" 29 + "Elija la una opcin a realizar:", "Elija una Opcin", JOptionPane.QUESTION_MESSAGE)); 30 31 switch (op) { 32 case 1: 33 n1 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la nota 1", "", JOptionPane.INFORMATION_MESSAGE)); 34 n2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la nota 2", "", JOptionPane.INFORMATION_MESSAGE)); 35 n3 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la nota 3", "", JOptionPane.INFORMATION_MESSAGE)); 36 n4 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la nota 4", "", JOptionPane.INFORMATION_MESSAGE)); 37 n5 = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la nota 5", "", JOptionPane.INFORMATION_MESSAGE));

38 a.introducirNotas(n1, n2, n3, n4, n5); 39 break; 40 case 2: 41 JOptionPane.showMessageDialog(null, "Listado de Notas: \n" 42 + a.listarNotas(), "", JOptionPane.INFORMATION_MESSAGE); 43 break; 44 case 3: 45 JOptionPane.showMessageDialog(null, "Promedio: " + a.calcularPromedio(), "", JOptionPane.INFORMATION_MESSAGE); 46 break; 47 48 } 49 } 50 } 51 }

Vous aimerez peut-être aussi