La Programación Orientada a Objetos (POO) es un paradigma de programación que organiza el código en torno a objetos y clases. Java es un lenguaje diseñado específicamente para implementar este paradigma, proporcionando herramientas robustas para modelar y gestionar problemas del mundo real.
// Definición de una clase
public class Persona {
// Atributos
String nombre;
int edad;
// Métodos
public void saludar() {
System.out.println("Hola, mi nombre es " + nombre);
}
}
// Crear un objeto
public class Main {
public static void main(String[] args) {
Persona persona = new Persona(); // Crear una instancia
persona.nombre = "Juan";
persona.edad = 25;
persona.saludar(); // Salida: Hola, mi nombre es Juan
}
}
El encapsulamiento es el principio de restringir el acceso directo a los atributos y métodos de una clase. Esto se logra utilizando modificadores de acceso y proporcionando métodos públicos para acceder a los datos.
public class CuentaBancaria {
private double saldo; // Atributo privado
// Método para consultar el saldo
public double getSaldo() {
return saldo;
}
// Método para depositar dinero
public void depositar(double cantidad) {
if (cantidad > 0) {
saldo += cantidad;
}
}
}
public class Main {
public static void main(String[] args) {
CuentaBancaria cuenta = new CuentaBancaria();
cuenta.depositar(1000);
System.out.println("Saldo: " + cuenta.getSaldo()); // Salida: Saldo: 1000.0
}
}
La herencia permite a una clase (clase hija) adquirir las propiedades y métodos de otra clase (clase padre). Esto fomenta la reutilización del código y la organización jerárquica.
// Clase padre
public class Animal {
public void comer() {
System.out.println("Este animal está comiendo");
}
}
// Clase hija
public class Perro extends Animal {
public void ladrar() {
System.out.println("Guau, guau!");
}
}
public class Main {
public static void main(String[] args) {
Perro perro = new Perro();
perro.comer(); // Heredado de Animal
perro.ladrar(); // Definido en Perro
}
}