GoConqr has a new look! Let us know what you think.

Flowchart

Untitled

LordTunas Guacamole Spanish

Flowchart content

  1. Pilares de la Programación Orientada a Objetos

  2. Abstraccion

  3. Encapsulamiento

  4. Herencia

  5. Polimorfismo

  6. El encapsulamiento nos permite controlar quien puede ver y utilizar los distintos módulos internos de nuestro sistema. En términos de clases, con el encapsulamiento definimos el acceso a los miembros de la clase. En C# podemos utilizar modificadores de acceso para definir el control de agentes externos a distintas partes de nuestro sistema, como clases, miembros de las clases, interfaces, entre otros.

  7. De acuerdo a la RAE, una de las acepciones de abstraer es:

    “Hacer caso omiso de algo, o dejarlo a un lado.” Y ofrece como ejemplo: “Centremos la atención en lo esencial abstrayendo DE consideraciones marginales.”

    El ejemplo dado captura la esencia del concepto de abstraer. Cuando hacemos una abstracción, queremos omitir detalles que no son necesarios para nosotros, y queremos solamente mostrar lo que sí es relevante.

  8. La herencia es una relación especial entre dos clases, la clase base y la clase derivada, en donde la clase derivada obtiene la habilidad de utilizar ciertas propiedades y funcionalidades de la clase base, incluso pudiendo sustituir funcionalidad de la clase base. La idea es que la clase derivada “hereda” algunas de las características de la clase base. Podemos ver un ejemplo de la clase Carro. Un carro es un tipo de vehículo, además, queremos procesar otro tipo de vehículos, cada uno con su entidad, como camión.

  9. Cuando empezamos a hablar de herencia, dijimos que la herencia “permite que un solo algoritmo pueda procesar distintas clases de entidades”. La idea es que podemos tener una función la cual reciba un parámetro, como una clase base, y podemos pasarle a ese método objetos que sean instancias de las clases derivadas de dicha clase base. Lo mismo ocurre si el método recibe como parámetro una interfaz. Podemos pasarle a dicho método cualquier clase que implemente dicha interfaz.

    Polimorfismo significa de muchas formas. En nuestro caso llamamos polimorfismo cuando un método recibe un parámetro que abarca varios tipos.

  10. public class Carro

    {

    public string Marca;

    public int AñoSalidaAlMercado { get; set; }

    public void Acelerar()

    {

    }

    }

  11. public class Carro

    {

    public string Marca;

    public int AñoSalidaAlMercado { get; set; }

    private int Velocidad { get; set; }

    public void Acelerar()

    {

    Velocidad += 10;

    }

    }

  12. public class Vehículo

    {

    public string Marca;

    public int AñoSalidaAlMercado { get; set; }

    public int Velocidad { get; private set; }

    public void Acelerar()

    {

    Velocidad += 10;

    }

    public virtual void Reversa()

    {

    Console.WriteLine("Voy de reversa!");

    }

    }

    public class Carro: Vehículo

    {

    public void EncenderRadio()

    {

    Console.WriteLine("Encendiendo la radio");

    }

    }

    public class Camión: Vehículo

    {

    public override void Reversa()

    {

    base.Reversa();

    Console.WriteLine("BEEP BEEP BEEP!");

    }

    }

  13. static void Reparar(Vehículo vehículo)

    {

    Console.WriteLine("Iniciando reparación");

    Console.WriteLine("Probando acelerador");

    Console.WriteLine($"Velocidad inicial {vehículo.Velocidad}");

    vehículo.Acelerar();

    Console.WriteLine($"Velocidad final {vehículo.Velocidad}");

    Console.WriteLine("Probando reversa");

    vehículo.Reversa();

    Console.WriteLine("Listo!");

    }

Information

Description
Flowchart on Untitled, created by LordTunas Guacamole on 13/09/2021.
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?