POO
La Programación Orientada a Objetos (POO) es un paradigma fundamental en el desarrollo de software que se centra en la creación y manipulación de objetos. Java, como lenguaje de programación, se basa en este paradigma, y a continuación, exploraremos los conceptos clave de la POO en Java:
Clases
Modificadores de acceso
Objetos
Metodos y paso de metodos
cosntructores y destructores
setters y getters
Pilares de POO
Abstraccion
Interfaces
Clases abstractas
Encapsulamiento
Herencia
Polimorfismo
Polimorfismo en tiempo de compilacion
Polimorfismo en tiempo de ejecucion

Los 4 pilares
La Programación Orientada a Objetos (POO) se basa en cuatro pilares: encapsulamiento, herencia, polimorfismo y abstracción. Estos principios estructuran el diseño de software, permitiendo la encapsulación de datos, reutilización de código, flexibilidad con polimorfismo y simplificación conceptual mediante abstracción. Son fundamentales para construir sistemas eficientes en POO.

Clases y Objetos
En Java, todo se organiza en clases y objetos. Una clase es un plano o un modelo para crear objetos, y un objeto es una instancia específica de una clase.
// Definición de una clase en Java
public class Coche {
String marca;
int anio;
// Constructor
public Coche(String m, int a) {
marca = m;
anio = a;
}
// Método
public void conducir() {
System.out.println("Conduciendo un coche de marca " + marca);
}
}
// Creación de un objeto
Coche miCoche = new Coche("Toyota", 2022);
Encapsulamiento:
El encapsulamiento implica ocultar los detalles internos de una clase y exponer solo lo necesario. Los modificadores de acceso (private
, protected
, public
) son esenciales para lograr el encapsulamiento.
public class CuentaBancaria {
private double saldo;
public void depositar(double cantidad) {
// Lógica para realizar el depósito
saldo += cantidad;
}
public double obtenerSaldo() {
return saldo;
}
}
Herencia:
La herencia permite la creación de nuevas clases basadas en clases existentes, heredando sus propiedades y comportamientos. En Java, se utiliza la palabra clave extends
.
// Clase base
public class Animal {
public void comer() {
System.out.println("El animal come comida general.");
}
}
// Clase derivada
public class Perro extends Animal {
public void ladrar() {
System.out.println("Guau, guau");
}
}
Polimorfismo
El polimorfismo permite que un objeto pueda tomar muchas formas. En Java, el polimorfismo se logra mediante la sobrecarga de métodos y la implementación de interfaces.
interface Forma {
void dibujar();
}
class Circulo implements Forma {
public void dibujar() {
System.out.println("Dibujando un círculo");
}
}
class Cuadrado implements Forma {
public void dibujar() {
System.out.println("Dibujando un cuadrado");
}
}
Abstracción
La abstracción se refiere a la simplificación de conceptos complejos mediante la creación de clases abstractas e interfaces. Java permite la declaración de clases abstractas y la implementación de interfaces.
// Clase abstracta
abstract class Figura {
abstract void dibujar();
}
// Implementación de la clase abstracta
class Triangulo extends Figura {
void dibujar() {
System.out.println("Dibujando un triángulo");
}
}
La POO en Java proporciona un marco sólido para el desarrollo de software, facilitando la modularidad, reutilización de código y mantenimiento. Al comprender estos conceptos, los programadores pueden diseñar sistemas más flexibles y escalables.
Last updated