Programación Orientada a Objetos (POO) para principiantes
2 min readNov 7, 2024
La Programación Orientada a Objetos (POO) es un paradigma de programación que organiza el código en torno a “objetos” en lugar de funciones o acciones. Estos objetos son instancias de “clases”, que agrupan datos y comportamientos relacionados. Los principales conceptos de la POO son:
- Clases: Plantillas que definen las propiedades y métodos de los objetos.
- Objetos: Instancias de una clase.
- Encapsulamiento: Agrupa datos y métodos que trabajan sobre esos datos dentro de una clase y controla el acceso a ellos.
- Herencia: Permite que una clase derive de otra, heredando sus propiedades y métodos.
- Polimorfismo: Permite que los métodos tengan diferentes implementaciones según el contexto.
- Abstracción: Define clases abstractas o interfaces para que las clases derivadas implementen su comportamiento.
// Definimos una clase base llamada Animal
public abstract class Animal
{
// Propiedad que almacenará el nombre del animal
public string Nombre { get; set; }
// Constructor para inicializar el nombre
public Animal(string nombre)
{
Nombre = nombre;
}
// Método abstracto que cada animal implementará a su manera
public abstract void HacerSonido();
}
// Clase Perro que hereda de Animal
public class Perro : Animal
{
public Perro(string nombre) : base(nombre) { }
// Implementación del método HacerSonido para Perro
public override void HacerSonido()
{
Console.WriteLine($"{Nombre} dice: Guau!");
}
}
// Clase Gato que hereda de Animal
public class Gato : Animal
{
public Gato(string nombre) : base(nombre) { }
// Implementación del método HacerSonido para Gato
public override void HacerSonido()
{
Console.WriteLine($"{Nombre} dice: Miau!");
}
}
// Programa principal
class Program
{
static void Main(string[] args)
{
// Creamos instancias de Perro y Gato
Animal miPerro = new Perro("Firulais");
Animal miGato = new Gato("Michi");
// Llamamos al método HacerSonido en cada instancia
miPerro.HacerSonido(); // Salida: Firulais dice: Guau!
miGato.HacerSonido(); // Salida: Michi dice: Miau!
}
}
Explicación:
- Clase Animal: Es una clase abstracta con una propiedad
Nombre
y un método abstractoHacerSonido()
. - Herencia:
Perro
yGato
heredan deAnimal
y deben implementar el métodoHacerSonido
. - Polimorfismo: Cada animal tiene una implementación diferente de
HacerSonido
. - Encapsulamiento: Las propiedades y métodos están encapsulados dentro de las clases y accedemos a ellos solo mediante instancias.