none
Omitir propriedade em classe filha RRS feed

  • 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?

    sábado, 29 de setembro de 2012 20:15

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


    segunda-feira, 1 de outubro de 2012 11:07
  • 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
    segunda-feira, 1 de outubro de 2012 18:05

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
    domingo, 30 de setembro de 2012 14:34
  • 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.

    segunda-feira, 1 de outubro de 2012 03:13
  • 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


    segunda-feira, 1 de outubro de 2012 11:07
  • 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
    segunda-feira, 1 de outubro de 2012 18:05