typestar

Herencia en C#

Un contrato base, muchos comportamientos, elegidos en tiempo de ejecución.

Animal[] zoo = { new Dog(), new Cat() };
foreach (var animal in zoo)
{
    Console.WriteLine(animal.Speak());
}

class Animal
{
    public virtual string Speak() => "...";
}

class Dog : Animal
{
    public override string Speak() => "woof, says the dog";
}

class Cat : Animal
{
    public override string Speak() => "meow, says the cat";
}

Cómo funciona

  1. virtual marca lo que una subclase puede cambiar; override lo cambia.
  2. Un Animal[] guarda perros y gatos; cada uno habla como sí mismo.
  3. La implementación base es la que corre cuando ninguna subclase la reemplaza.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
325
Tokens
80
Ritmo de tres estrellas
90 tpm

Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 53 segundos.

Escribe este fragmento

Paso 3 de 4 en Clases y records; paso 20 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →