Desarrollo - POO - Curso POO

Programación orientada a objetos en C#

Programación orientada a objetos en C#

La programación orientada a objetos (POO) es un paradigma de programación basado en la idea de organizar el código en unidades llamadas "objetos" que representan entidades del mundo real. En C#, la POO es un enfoque fundamental para escribir código. Aquí hay una descripción general de los conceptos clave de la POO en C#:

  1. Clases: Las clases son plantillas que definen las propiedades y métodos de un objeto. Puedes pensar en una clase como un plano para crear objetos.
  2. public class Automovil
    {
        public string Marca;
        public string Modelo;
        public int Año;
    
        public void Arrancar()
        {
            Console.WriteLine("El automóvil está arrancando.");
        }
    }
    
  3. Objetos: Los objetos son instancias de clases. Cada objeto tiene su propio conjunto de propiedades y métodos definidos por su clase.
  4. Automovil miAutomovil = new Automovil();
    miAutomovil.Marca = "Toyota";
    miAutomovil.Modelo = "Corolla";
    miAutomovil.Año = 2022;
    miAutomovil.Arrancar();
    
  5. Herencia: La herencia permite que una clase herede propiedades y métodos de otra clase. Esto ayuda a reutilizar y organizar el código de manera más eficiente.
  6. public class Vehiculo
    {
        public int VelocidadMaxima;
        
        public void Arrancar()
        {
            Console.WriteLine("El vehículo está arrancando.");
        }
    }
    
    public class Automovil : Vehiculo
    {
        public string Marca;
        public string Modelo;
        public int Año;
    }
    
  7. Polimorfismo: El polimorfismo permite que una clase tenga múltiples implementaciones de un método, dependiendo de su contexto.
  8. public class Vehiculo
    {
        public virtual void Arrancar()
        {
            Console.WriteLine("El vehículo está arrancando.");
        }
    }
    
    public class Automovil : Vehiculo
    {
        public override void Arrancar()
        {
            Console.WriteLine("El automóvil está arrancando.");
        }
    }
    
  9. Encapsulamiento: El encapsulamiento oculta los detalles de implementación de una clase y expone solo lo necesario. Esto se logra mediante modificadores de acceso como `public`, `private`, `protected` y `internal`.
  10. public class Automovil
    {
        private int _velocidad;
    
        public int Velocidad
        {
            get { return _velocidad; }
            set
            {
                if (value >= 0)
                    _velocidad = value;
            }
        }
    
        public void Acelerar()
        {
            Velocidad += 5;
        }
    }
    

    6. Abstracción

    La abstracción se trata de simplificar la complejidad al ocultar detalles innecesarios y mostrar solo lo esencial. En C#, puedes usar clases y métodos abstractos para lograr la abstracción. Un método abstracto es un método que se declara en una clase abstracta pero no contiene implementación.

    public abstract class Vehiculo
    {
        public abstract void Arrancar();
    }
    
    public class Automovil : Vehiculo
    {
        public override void Arrancar()
        {
            Console.WriteLine("El automóvil está arrancando.");
        }
    }
    	

    7. Interfaces

    Una interfaz en C# es un contrato que define un conjunto de métodos y propiedades que una clase debe implementar. Las interfaces son útiles para lograr la abstracción y son una forma de lograr el polimorfismo en C#.

    public interface IVehiculo
    {
        void Arrancar();
    }
    
    public class Automovil : IVehiculo
    {
        public void Arrancar()
        {
            Console.WriteLine("El automóvil está arrancando.");
        }
    }
    	

    8. Sobrecarga de métodos

    En C#, puedes tener varios métodos con el mismo nombre en la misma clase, siempre que los parámetros sean diferentes. Esto se llama sobrecarga de métodos y te permite realizar diferentes implementaciones de un método en función de los parámetros.

    public class Automovil
    {
        public void Arrancar()
        {
            Console.WriteLine("El automóvil está arrancando.");
        }
    
        public void Arrancar(string mensaje)
        {
            Console.WriteLine(mensaje);
        }
    }
    	

    9. Constructores y destructores

    Los constructores son métodos especiales en la clase que se llaman cuando se crea una instancia de la clase. Los destructores son métodos que se llaman cuando una instancia de una clase se está eliminando.

    public class Automovil
    {
        public Automovil()
        {
            Console.WriteLine("Se ha creado un nuevo automóvil.");
        }
    
        ~Automovil()
        {
            Console.WriteLine("Se está eliminando un automóvil.");
        }
    }
    	

    10. Excepciones

    Las excepciones son errores que ocurren durante la ejecución del programa. En C#, puedes usar bloques `try`, `catch` y `finally` para manejar las excepciones y evitar que el programa se bloquee.

    try
    {
        // Código que puede causar una excepción
    }
    catch (Exception ex)
    {
        // Código que se ejecuta si ocurre una excepción
        Console.WriteLine(ex.Message);
    }
    finally
    {
        // Código que se ejecuta independientemente de si ocurre una excepción
    }
    
    

Comentarios

Entradas populares