lunes, 3 de julio de 2017

Todo sobre: Clase en java


¿Qué es una clase en java?
Una clase es una construcción que se utiliza como un modelo (o plantilla) para crear objetos de ese tipo. Una clase por lo general representa un sustantivo, como una persona, lugar o (posiblemente bastante abstracta) cosa- es el modelo de un concepto dentro de un programa de computadora. Encapsula el estado a través de marcadores de datos llamados atributos (o variable miembro o variables de instancia), encapsula el comportamiento a través de secciones de código re-utilizables llamados métodos.

Se define:
En su forma más simple, una clase se define por la palabra reservada class seguida del nombre de la clase. El nombre de la clase debe empezar por mayúscula. Si el nombre es compuesto, entonces cada palabra debe empezar por mayúscula. Circulo, Rectangulo, Triangulo y FiguraGeometrica son nombres válidos de clases.

Por ejemplo:
La clase Circulo se define con tres atributos: el radio y las
coordenadas x, y que definen la posición del centro del círculo.

/* Esta clase define los atributos de un círculo */
public class Circulo {
int x;
int y;
int radio;
}

Una vez que se ha declarado una clase, se pueden crear objetos a partir de ella. A la creación de un objeto se le denomina instanciación. Es por esto que se dice que un objeto es una instancia de una clase y el término instancia y objeto se utilizan indistintamente.
Para crear objetos, basta con declarar una variable de alguno de los tipos de figuras geométricas:

Circulo circulo1;
Circulo circulo2;

Para crear el objeto y asignar un espacio de memoria es necesario realizar la instanciación con el operador new.

circulo1 = new Circulo();
circulo2 = new Circulo();

Después de crear los objetos, circulo1 y circulo2 almacenan los valores predeterminados de la clase Circulo. A partir de este momento los objetos ya pueden ser referenciados por su nombre. Los nombres circulo1 y
circulo2 son las referencias válidas para utilizar ambos objetos.

Los elementos de una clase
Una clase describe un tipo de objetos con características comunes. Es necesario definir la información que almacena el objeto y su comportamiento.



Ejemplo de un programa de sacar el área de figuras geométricas

import java.util.Scanner;
public class Area
{
    static int opcion;
    public static void main(String argas[])
    {
        do
        {
         Scanner entrada=new Scanner(System.in);
         System.out.println("__________________________________________________");
         System.out.println("| Te puedo ayudar a calcular las areas de:        |");
         System.out.println("| 1.- Cuadrado:                                   |");
         System.out.println("| 2.- Triangulo:                                  |");
         System.out.println("| 3.- Circulo:                                    |");
         System.out.println("| 4.- Octagono:                                   |");
         System.out.println("| 5.- Salir                                       |");
         System.out.println("___________________________________________________");
         System.out.println("ESCOGE OPCION   :                                  ");
         opcion=entrada.nextInt();
         switch(opcion)
            {
                case 1:
                cuadrado();
                break;
                case 2:
                triangulo();
                break;
                case 3:
                circulo();
                break;
                case 4:
                octagono();
                case 5:
                System.exit(0);
                break;
                default  :
                System.out.print("No es una opcion valida");
            }
         }while(opcion!=5);
     
    }
    public static void cuadrado()
        {
            char desea;
            do
            {
                Scanner entrada=new Scanner(System.in);
                int base,altura,area;
             
                String entradaChar;
             
                System.out.println("___Ayudando a obtener el area de un Cuadrado___");
                System.out.println("Tecle la base");
                base=entrada.nextInt();
                System.out.println("Tecle la altura");
                altura=entrada.nextInt();
             
                area=base*altura;
             
                System.out.println("El area del cuadrado es:  "+area);
                System.out.println("Desea realizar otra area de cuadrado (S/N)");
                entradaChar=entrada.next();
                desea=entradaChar.charAt(0);
            }while(desea=='S' || desea=='s');
        }
    public static void triangulo()
     {
         char desea;
            do
            {
                Scanner entrada=new Scanner(System.in);
                int base,altura,area;
             
                String entradaChar;
             
                System.out.println("___Ayudando a obtener el area de un Triangulo___");
                System.out.println("Tecle la base");
                base=entrada.nextInt();
                System.out.println("Tecle la altura");
                altura=entrada.nextInt();
             
                area=((base*altura)/2);
             
                System.out.println("El area del triangulo es:  "+area);
                System.out.println("Desea realizar otra area de triangulo (S/N)");
                entradaChar=entrada.next();
                desea=entradaChar.charAt(0);
            }while(desea=='S' || desea=='s');
     }
    public static void circulo()
        {
            char desea;
            do
            {
                Scanner entrada=new Scanner(System.in);
                int radio,y;
                double pi,area;
             
                String entradaChar;
             
                System.out.println("___Ayudando a obtener el area de un Circulo___");
                System.out.println("Tecle raio");
                radio=entrada.nextInt();
             
                y=radio*radio;
                area=y*3.1416;
             
                System.out.println("El area del circulo es:  "+area);
                System.out.println("Desea realizar otra area de circulo (S/N)");
                entradaChar=entrada.next();
                desea=entradaChar.charAt(0);
            }while(desea=='S' || desea=='s');
        }
    public static void octagono()
        {
            char desea;
            do
            {
                Scanner entrada=new Scanner(System.in);
                int area,lado,apotema;
                String entradaChar;
             
                System.out.println("___Ayudando a obtener el area de un Octagono___");
                System.out.println("Tecle la longitud del alguno de los lado");
                lado=entrada.nextInt();
                System.out.println("Tecle la apotema");
                apotema=entrada.nextInt();
                area=((8*lado)*apotema/2);
                System.out.println("El area del octagono es:  "+area);
                System.out.println("Desea realizar otra area de octagono (S/N)");
                entradaChar=entrada.next();
                desea=entradaChar.charAt(0);
            }while(desea=='S' || desea=='s');
        }
}