La programación orientada a objetos se basa en la programación de
clases; a diferencia de la programación estructurada, que está centrada en las
funciones.
Una clase es un molde del que luego se pueden crear múltiples objetos,
con similares características.
Una clase es una plantilla (molde), que define atributos (variables) y
métodos (funciones)
La clase define los atributos y métodos comunes a los objetos de ese
tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las
mismas funciones.
Debemos crear una clase antes de poder crear objetos (instancias) de esa
clase. Al crear un objeto de una clase, se dice que se crea una instancia de la
clase o un objeto propiamente dicho.
La estructura de una clase es:
class [nombre de la clase] {
[atributos o variables de la
clase]
[métodos o funciones de la
clase]
[main]
Una clase es una plantilla de la que se crean los objetos individuales.
A continuación un ejemplo de una clase en Java:
Una clase puede contener cualquiera de los siguientes tipos de
variables:
- Variables locales: Las variables definidas
dentro de los métodos, los constructores o los bloques se denominan
variables locales. Se declara la variable y se inicializa en el método y
la variable será destruida cuando el método se ha completado.
- Variables de instancia: Las variables de instancia
son variables dentro de una clase, pero fuera de cualquier método. Estas
variables se crean instancias cuando se carga la clase. Las variables de
instancia se puede acceder desde el interior de cualquier método,
constructor o bloques de esa clase en particular.
- Variables de clase: Las variables de clase son
variables declaradas dentro una clase y fuera de cualquier método. En el
ejemplo anterior marca, kilometraje y color son
variables de clase Carro.
Una clase en Java puede tener cualquier número de métodos para acceder o
modificar el comportamiento de dicha clase. En el ejemplo anterior encender, acelerar y apagar son
métodos de clase Carro.
Ejemplo:
Confeccionar una clase que permita carga el nombre y la edad de una
persona. Mostrar los datos cargados. Imprimir un mensaje si es mayor de edad
(edad>=18)
Programa:
import java.util.Scanner;
public class Persona {
private
Scanner teclado;
private
String nombre;
private
int edad;
public
void inicializar() {
teclado=new Scanner(System.in);
System.out.print("Ingrese
nombre:");
nombre=teclado.next();
System.out.print("Ingrese edad:");
edad=teclado.nextInt();
}
public
void imprimir() {
System.out.println("Nombre:"+nombre);
System.out.println("Edad:"+edad);
}
public void esMayorEdad() {
if (edad>=18) {
System.out.print(nombre+" es
mayor de edad.");
} else {
System.out.print(nombre+" no
es mayor de edad.");
}
}
public
static void main(String[] ar) {
Persona
persona1;
persona1=new Persona();
persona1.inicializar();
persona1.imprimir();
persona1.esMayorEdad();
}
}
El nombre de la clase debe hacer referencia al concepto (en este caso la
hemos llamado Persona):
public class Persona {
Los atributos los definimos dentro de la clase pero fuera de la main:
private
Scanner teclado;
private
String nombre;
private int edad;
Más adelante se dará a conocer que un atributo es normalmente definido
con la cláusula private (con esto no permitimos el acceso al atributo desde
otras clases)
A los atributos se tiene acceso desde cualquier función o método de la
clase (salvo la main)
Luego de definir los atributos de la clase se debe declarar los métodos
o funciones de la clase. La sintaxis es parecida a la main (sin la cláusula
static):
public void
inicializar() {
teclado=new Scanner(System.in);
System.out.print("Ingrese
nombre:");
nombre=teclado.next();
System.out.print("Ingrese
edad:");
edad=teclado.nextInt();
}
En el método inicializar (que será el primero que se debe llamar desde
la main) se debe crear el objeto de la clase Scanner y cargar por teclado los
atributos nombre y edad. Como se puede ver el método inicializar puede hacer
acceso a los tres atributos de la clase Persona.
El segundo método tiene por objetivo imprimir el contenido de los atributos nombre y edad (los datos de los atributos se cargaron al ejecutarse previamente el método inicializar:
El segundo método tiene por objetivo imprimir el contenido de los atributos nombre y edad (los datos de los atributos se cargaron al ejecutarse previamente el método inicializar:
public void imprimir() {
System.out.println("Nombre:"+nombre);
System.out.println("Edad:"+edad);
}
El tercer método tiene por objetivo mostrar un mensaje si la persona es
mayor o no de edad:
public void esMayorEdad() {
if (edad>=18) {
System.out.print(nombre+" es mayor de edad.");
} else {
System.out.print(nombre+" no es mayor de edad.");
}
}
Por último en la main se declara un objeto de la clase Persona y se le llama
a los métodos en un orden adecuado:
public static
void main(String[] ar) {
Persona persona1;
persona1=new Persona();
persona1.inicializar();
persona1.imprimir();
persona1.esMayorEdad();
}
Persona persona1; //Declaración del objeto
persona1=new Persona(); //Creación del objeto
persona1.inicializar(); //Llamada de un método
persona1=new Persona(); //Creación del objeto
persona1.inicializar(); //Llamada de un método
No hay comentarios:
Publicar un comentario