Tutorial 6 Java: definición de clases y objetos
¡Bienvenidos a un nuevo tutorial de Java en Geekytheory! Hoy hablaremos de la definición de clases y objetos.
La programación orientada a objetos está basada en la definición de clases, a diferencia de la programación estructurada, que se basa en funciones. A partir de una clase podremos crear diferentes y múltiples objetos con características similares. La clase define atributos y métodos comunes a objetos de cierto tipo, pero cada objeto tendrá sus propias características, aunque compartan funciones entre ellos.
Antes de poder crear un objeto, es decir, una instancia de una clase, debemos crear la propia clase.
Podemos definir la estructura de una clase como:
class Nombre_Clase{ //Atributos //Métodos //Main }
Para explicar esta parte de la programación Java, como siempre, resolveré un pequeño problema. En él, tendremos que crear un objeto triángulo e introducir sus lados. A continuación, se mostrará el tipo de triángulo que es y su perímetro.
Lo primero que vamos a hacer antes de escribir código es crear el proyecto. Se llamará "Triangulo":
¡A programar! Para comenzar, como siempre, tendremos que importar la clase para introducir datos por teclado, es decir, la clase Scanner: import java.util.Scanner; A continuación, definimos la clase Triangulo: class Triangulo{ }
Para no tener que estar declarando a cada momento la variable reader o lado1, lado2 y lado3, las definimos antes del main, al definir la clase:
public class Triangulo { private Scanner reader; private int lado1, lado2, lado3; public static void main(String[] args) { } } A continuación, crearemos el método definir_lados: public class Triangulo { private Scanner reader; private int lado1, lado2, lado3; public void definir_lados() { reader=new Scanner(System.in); System.out.print("Introduzca longitud lado 1 (m): "); lado1=reader.nextInt(); System.out.print("Introduzca longitud lado 2 (m): "); lado2=reader.nextInt(); System.out.print("Introduzca longitud lado 3 (m): "); lado3=reader.nextInt(); } public static void main(String[] args) { } } Tras esto, crearemos el método tipo_triangulo: private void tipo_triangulo() { if (lado1==lado2 && lado1==lado3){ System.out.println("Es un triángulo equilátero."); } else if(lado1==lado2 || lado1==lado3 || lado2==lado3){ System.out.println("Es un triángulo isósceles."); } else System.out.println("Es un triángulo escaleno."); } Finalmente, crearemos el método perimetro: private void perimetro() { System.out.println("El perímetro del triángulo es: "+(lado1+lado2+lado3)+" metros."); } Ahora mismo tenemos este código: package triangulo; import java.util.Scanner; /** * * @author mario * Tutorial 5 Java: definición de clases y objetos * */ public class Triangulo { private Scanner reader; private int lado1, lado2, lado3; public void definir_lados() { reader=new Scanner(System.in); System.out.print("Introduzca longitud lado 1 (m): "); lado1=reader.nextInt(); System.out.print("Introduzca longitud lado 2 (m): "); lado2=reader.nextInt(); System.out.print("Introduzca longitud lado 3 (m): "); lado3=reader.nextInt(); } private void tipo_triangulo() { if (lado1==lado2 && lado1==lado3){ System.out.println("Es un triángulo equilátero."); } else if(lado1==lado2 || lado1==lado3 || lado2==lado3){ System.out.println("Es un triángulo isósceles."); } else System.out.println("Es un triángulo escaleno."); } private void perimetro() { System.out.println("El perímetro del triángulo es: "+(lado1+lado2+lado3)+" metros."); } public static void main(String[] args) { } } A continuación, crearemos un objeto de la clase Triangulo y lo llamaremos "triangulo". A continuación, usaremos los tres métodos que hemos creado para esta clase. Esto será dentro del main: public static void main(String[] args) { Triangulo triangulo= new Triangulo(); triangulo.definir_lados(); triangulo.tipo_triangulo(); triangulo.perimetro(); } El código completo es el siguiente: package triangulo; import java.util.Scanner; /** * * @author mario * Tutorial 5 Java: definición de clases y objetos * */ public class Triangulo { private Scanner reader; private int lado1, lado2, lado3; public void definir_lados() { reader=new Scanner(System.in); System.out.print("Introduzca longitud lado 1 (m): "); lado1=reader.nextInt(); System.out.print("Introduzca longitud lado 2 (m): "); lado2=reader.nextInt(); System.out.print("Introduzca longitud lado 3 (m): "); lado3=reader.nextInt(); } private void tipo_triangulo() { if (lado1==lado2 && lado1==lado3){ System.out.println("Es un triángulo equilátero."); } else if(lado1==lado2 || lado1==lado3 || lado2==lado3){ System.out.println("Es un triángulo isósceles."); } else System.out.println("Es un triángulo escaleno."); } private void perimetro() { System.out.println("El perímetro del triángulo es: "+(lado1+lado2+lado3)+" metros."); } public static void main(String[] args) { Triangulo triangulo= new Triangulo(); triangulo.definir_lados(); triangulo.tipo_triangulo(); triangulo.perimetro(); } } Tras ejecutar el código unas cuantas veces, obtenemos lo siguiente:
Bueno, esto es todo por hoy. Como podéis ver, ya estamos entrando en la parte bonita de Java, es decir, la programación orientada a objetos. ¡Nos vemos en el próximo tutorial! !Y no os olvidéis de compartir el artículo! Gracias.