Usuário com melhor resposta
Herança de formulários abstratos

Pergunta
-
Olá, desejo criar um cenário do seguinte tipo:
uiBase - Formulário Base
pesquisar() - Método do formulário
novo() - Método do Formulário
remover() - Método do Formulário
Os 3 métodos devem ser abstratos
uiLista - Formulário herdado do uiBase
Neste instante quero que a implementação dos 3 métodos abstratos existentes no form uiBase sejam obrigatórios (até porque eles são abstratos) impossibilitando até mesmo a compilação do sistema
O problema é que não consigo criar um novo formulário que herde de uiBase pelo simples fato dele ser abstrato, como resolver está situação?
Respostas
-
Olá colega,
Não vejo nenhum problema em um formulário implementar uma classe Abstrata, veja o exemplo abaixo
Classe Base
public abstract class uiBase : Form
{
public abstract void Perquisar();
public abstract void Novo();
public abstract void Remover();
}Classe Derivada
public partial class Form1 : uiBase
{
public Form1()
{
InitializeComponent();
}public override void Perquisar()
{
throw new Exception("The method or operation is not implemented.");
}public override void Novo()
{
throw new Exception("The method or operation is not implemented.");
}public override void Remover()
{
throw new Exception("The method or operation is not implemented.");
}
}o importante é que implemente todos os métodos obstratos que são obrigatórios para as classes derivadas.
abraços
-
Todas as Respostas
-
Olá colega,
Não vejo nenhum problema em um formulário implementar uma classe Abstrata, veja o exemplo abaixo
Classe Base
public abstract class uiBase : Form
{
public abstract void Perquisar();
public abstract void Novo();
public abstract void Remover();
}Classe Derivada
public partial class Form1 : uiBase
{
public Form1()
{
InitializeComponent();
}public override void Perquisar()
{
throw new Exception("The method or operation is not implemented.");
}public override void Novo()
{
throw new Exception("The method or operation is not implemented.");
}public override void Remover()
{
throw new Exception("The method or operation is not implemented.");
}
}o importante é que implemente todos os métodos obstratos que são obrigatórios para as classes derivadas.
abraços
-
-