Usuário com melhor resposta
Omitir propriedade em classe filha

Pergunta
-
Olá Pessoal, boa tarde!
Eu tenho uma classe, da seguinte forma:
public class PessoaFisica { public Guid ID_PESSOA_FISICA { get; set; } }
Daí eu tenho uma outra classe, chamada Vendedor que herda de PessoaFisica, eu gostaria que, na instância da classe Vendedor, ID_PESSOA_FISICA não estivesse acessível, e somente ID_VENDEDOR seja visível.
É possível?
Respostas
-
E ae tuco, blz cara?
Cara, acho que não é possível você fazer isso, da uma olhada neste link:
http://stackoverflow.com/questions/1443886/how-can-i-hide-a-base-class-public-property-in-the-derived-class
Você pode usar como private e manipular a propriedade de dentro da classe, por exemplo:
public PessoaFisica(int valor)
{
this.ID_PESSOA_FISICA = valor;
}public int RetornaID()
{
return this.ID_PESSOA_FISICA;
}
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Editado Janderson Candido de Mattos segunda-feira, 1 de outubro de 2012 11:12
- Marcado como Resposta Jefferson Balivo terça-feira, 2 de outubro de 2012 02:16
-
public class PessoaFisica { public Guid ID_PESSOA_FISICA { get; set; } }
Jefferson Balivo, eu acho que essa não seria a melhor forma para trabalhar com essa hierarquia de classes.
Eu acho que o melhor é trabalhar como coloquei abaixo:
public class Pessoa { public Guid ID { get; set; } } public class PessoaFisica : Pessoa { //Como foi usado herança, o id vai estar disponível aqui public string CPF { get; set; } } public class Funcionario : PessoaFisica { public decimal Salario { get; set; } } public class Vendedor : Funcionario { public decimal Comissao { get; set; } }
vlw
- Sugerido como Resposta Gleiton César terça-feira, 2 de outubro de 2012 01:03
- Marcado como Resposta Jefferson Balivo terça-feira, 2 de outubro de 2012 02:16
Todas as Respostas
-
Bom dia Jefferson,
você precisará mudar o modificador de acesso da propriedade ID_PESSOA_FISICA de public para private. Na propriedade ID_VENDEDOR você pode manter qualquer modificador diferente de private.
Abraços
Daniel Cheida de Oliveira
- Sugerido como Resposta Daniel Cheida domingo, 30 de setembro de 2012 14:34
- Não Sugerido como Resposta Jefferson Balivo segunda-feira, 1 de outubro de 2012 03:40
-
Se eu passar ID_PESSOA_FISICA para private, não poderei acessar a propriedade da instância de PessoaFisica...
Dessa forma não resolve...
Tentei utilizar "protected" no ID_PESSOA_FISICA, mas também não logrei êxito.
Mesmo assim obrigado!
Jefferson.
-
E ae tuco, blz cara?
Cara, acho que não é possível você fazer isso, da uma olhada neste link:
http://stackoverflow.com/questions/1443886/how-can-i-hide-a-base-class-public-property-in-the-derived-class
Você pode usar como private e manipular a propriedade de dentro da classe, por exemplo:
public PessoaFisica(int valor)
{
this.ID_PESSOA_FISICA = valor;
}public int RetornaID()
{
return this.ID_PESSOA_FISICA;
}
Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS
- Editado Janderson Candido de Mattos segunda-feira, 1 de outubro de 2012 11:12
- Marcado como Resposta Jefferson Balivo terça-feira, 2 de outubro de 2012 02:16
-
public class PessoaFisica { public Guid ID_PESSOA_FISICA { get; set; } }
Jefferson Balivo, eu acho que essa não seria a melhor forma para trabalhar com essa hierarquia de classes.
Eu acho que o melhor é trabalhar como coloquei abaixo:
public class Pessoa { public Guid ID { get; set; } } public class PessoaFisica : Pessoa { //Como foi usado herança, o id vai estar disponível aqui public string CPF { get; set; } } public class Funcionario : PessoaFisica { public decimal Salario { get; set; } } public class Vendedor : Funcionario { public decimal Comissao { get; set; } }
vlw
- Sugerido como Resposta Gleiton César terça-feira, 2 de outubro de 2012 01:03
- Marcado como Resposta Jefferson Balivo terça-feira, 2 de outubro de 2012 02:16