Lo importante en este desafío es aplicar una de las características de la programación orientada a objetos. ¿Sabrías decir cuál, y entonces descubrir la solución correcta?

Si quisiéramos ejecutar el código del ejemplo, deberíamos instanciar el objeto desde dentro de algún método en una clase. Además, para acceder a los campos de ese objeto, deberíamos agregar “getters” y “setters” (o bien hacer que los campos tengan el modificador de acceso “public” en lugar de “private”).

Click aquí para desplegar la solución. 👈
✅ La respuesta correcta es la c: "r, g, b, tonalidad, saturacion, luminosidad".

✏️ Explicación: La clase `ColorExtendido` hereda de `Color` y, por ende, hereda todos sus atributos. El modificador de visibilidad (en este caso, "private") no altera esta característica de la herencia (los atributos podrían tener cualquier modificador; la clase hija heredará los atributos de la clase padre).


Solución al desafío



Desafío C# 👇
Desafío C# número 3

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
 

Desafío C#

¿Qué atributos contendrá el objeto ‘ce’ instanciado?

class Color
{
    private int r, g, b;
} 

class ColorExtendido : Color
{
    private int tonalidad, saturacion, luminosidad;
}

// Instanciar objeto:
ColorExtendido ce = new ColorExtendido();

Opciones:

a) tonalidad, saturacion, luminosidad

b) r, g, b

c) r, g, b, tonalidad, saturacion, luminosidad

d) r, g, b si el objeto se crea en memoria stack; tonalidad, saturacion, luminosidad si se crea en memoria heap.