Sem titulo
{
private double _area; private string _cor; private double _perimetro;
public string Cor
{
get
{
return _cor;
}
set
{
_cor = value;
}
}
public double Area
{
get
{return _area;} set {_area = value;}
}
public double Perimetro
{
get
{return _perimetro;} set { _perimetro = value; }
}
public abstract void CalcularArea(); public abstract void CalcularPerimetro(); public string Descricao()
{
return "Sou a classe abstrata Forma.";
}
} | Na classe abstrata Forma temos definidos: As propriedades públicas : Cor, Area e PerimetroOs métodos abstratos : CalcularArea() e CalcularPermitero() O método público Descricao()A classe Forma não pode ser instanciada.Se você tentar criar um objeto do tipo Forma :
Forma f = new Forma()o compilador vai emitir a mensagem de erro:
Cannot create an instance of the abstract class or interfaceVamos criar a classe Quadrado que vai herdar da classe Forma e implementar os métodos CalcularArea() e CalcularPerimetro()Observe que os métodos CalcularArea() e CalcularPerimetro() tiveram apenas a declaração de sua assinatura e não foram implementados na classe abstrata Forma. |
Vamos definir a classe Quadrado que vai herdar da classe Figura digitando o código abaixo: public class Quadrado : Forma
{
private double lado; public double Lado
{
get
{return lado;} set {lado = value;}
}
public override void CalcularArea()
{
this.Area = lado * lado;
}
public override void CalcularPerimetro()
{
this.Perimetro = 4 * lado;
}
} | A classe Quadrado possui a propriedade pública Lado A classe Quadrado implementa usando o modificador override os métodos CalcularArea() e CalcularPerimetro()Observe que utilizamos o modificador override para implementar os métodos abstratos |
Vamos agora criar uma instância da classe Quadrado(), atribuir um valor ao seu lado e calcular a área e o perímetro incluindo o código abaixo no método Main(): class Program
{
static void Main(string[] args)
{
Quadrado q = new Quadrado();