[Resolvido] Overriden.
Olaa,
Sou iniciante em C#, e estou estudando OO. Entendi perfeitamente o conceito de Overriden.Devido ao entendimento teórico peguei no site do MSDN o exemplo abaixo para estudar, mas alguns pontos não ficaram claros, minhas dúvidas estão destacadas em vermelho no código abaixo:
class TestClass
{
public class Square
{
public double x;
public Square(double x_)
{
this.x = x_;
}
public virtual double Area()
{
return x * x;
}
}
class Cube : Square
{
// DÚVIDA(01):
// PORQUE O CONSTRUTOR DA SUBCLASSE ESTÁ ESCRITA DESSA FORMA, OU SEJA, PORQUE
// O ELEMENTO " : base(x)" FOI USADO DESSA FORMA ??
public Cube(double x) : base(x) { }
public override double Area()
{
return (6 * (base.Area()));
}
}
public static void Main()
{
double x = 5.2;
Square s = new Square(x);
// DÚVIDA(02):
// PORQUE O CONTRUTOR DA SUBCLASSE FOI CHAMADO DESSA FORMA ??
// QUAL A REAL NECESSIDADE DE FAZER "Square c = new Cube(x)" ??, OU SEJA, QUAL A
// LOGICA NO USO DE "Square c = new Cube(x)" ??
Square c = new Cube(x);
Console.WriteLine("Área do Quadrado= {0:F2}", s.Area());
Console.WriteLine("Área do Cubo = {0:F2}", c.Area());
Console.ReadKey();
}
}
Desde já, Agradeço.
Atenciosamente.
Discussão (3)
Carregando comentários...