none
Herança de construtores RRS feed

  • Pergunta

  •  Olá, sou iniciante em em programação e gostaria se saber como implemento um construtor de um classe filha, estou usando visual studio express 2008. As classes são as seguintes:

    using

     

    System;

    using

     

    System.Collections.Generic;

    using

     

    System.Text;

    namespace

     

    FolhaPagamento.br.work.dominio

    {

     

    class EmpregadoComum

    {

     

    private string Nome;

     

    private int Rg;

     

    private int Idade;

     

    private string Endereco;

     

    public EmpregadoComum(string pnome, int prg, int pidade, string pendereco)

    {

     

    this.Nome = pnome;

     

    this.Rg = prg;

     

    this.Idade = pidade;

     

    this.Endereco = pendereco;

    }

     

    public int idade { get; set; }

     

    public int rg { get; set; }

     

    public string nome { get; set; }

     

    public string endereco { get; set; }

    }

    }

     E a classe filha onde tenho que implementar o construtor:

    using

     

    System;

    using

     

    System.Collections.Generic;

    using

     

    System.Text;

    namespace

     

    FolhaPagamento.br.work.dominio

    {

     

    class Empregado : EmpregadoComum

    {

     

    private long idEmpregado;

     

    private DateTime horaExtra;

     

    private double salarioBruto;

     

    private int numeroConta;

     

    public MeioPagamento tipoMeioPagamento;

     

    private double salarioLiquido;

     

     

    public Empregado()

    :

    base()

    { }

    }

    }

     

    sábado, 18 de dezembro de 2010 13:37

Respostas

  • Juliano,

    Segue um exemplo com suas classes.

    using System;
    
    namespace FolhaPagamento.br.work.dominio
    {
      public class EmpregadoComum
      {
        public string Nome { get; set; }
        public int Rg { get; set; }
        public int Idade { get; set; }
        public string Endereco { get; set; }
    
        public EmpregadoComum(string pNome, int pRg, int pIdade, string pEndereco)
        {
          this.Nome = pNome;
          this.Rg = pRg;
          this.Idade = pIdade;
          this.Endereco = pEndereco;
        }
      }
    
      public class Empregado : EmpregadoComum
      {
        private long idEmpregado;
        private DateTime horaExtra;
        private double salarioBruto;
        private int numeroConta;
        private double salarioLiquido;
        public Empregado(string nome, int rg, int idade, string endereco) : base(nome, rg, idade, endereco) { }
      }
    }
    


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    sábado, 18 de dezembro de 2010 16:23

Todas as Respostas

  • Juliano,

    Segue um exemplo com suas classes.

    using System;
    
    namespace FolhaPagamento.br.work.dominio
    {
      public class EmpregadoComum
      {
        public string Nome { get; set; }
        public int Rg { get; set; }
        public int Idade { get; set; }
        public string Endereco { get; set; }
    
        public EmpregadoComum(string pNome, int pRg, int pIdade, string pEndereco)
        {
          this.Nome = pNome;
          this.Rg = pRg;
          this.Idade = pIdade;
          this.Endereco = pEndereco;
        }
      }
    
      public class Empregado : EmpregadoComum
      {
        private long idEmpregado;
        private DateTime horaExtra;
        private double salarioBruto;
        private int numeroConta;
        private double salarioLiquido;
        public Empregado(string nome, int rg, int idade, string endereco) : base(nome, rg, idade, endereco) { }
      }
    }
    


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    sábado, 18 de dezembro de 2010 16:23
  • Mais uma dúvida, se eu quisesse herdar da classe Empregado ficaria assim então:

     public class Empregado : EmpregadoComum
      {
        private long idEmpregado { get; set; }
        private DateTime horaExtra { get; set; }
        private double salarioBruto { get; set; }
        private int numeroConta { get; set; }
        private double salarioLiquido { get; set; }
    
        public Empregado(string nome, int rg, int idade, string endereco, long pidEmpregado, double psalarioBruto, double psalarioLiquido)
          : base(nome, rg, idade, endereco)
        {
          this.idEmpregado = pidEmpregado;
          this.salarioBruto = psalarioBruto;
          this.salarioLiquido = psalarioLiquido;
        }
      }
     public class EmpregadoAssalariado : Empregado
      {
        public bool isComissionado { get; set; }
        public double ValorVendas { get; set; }
    
        public EmpregadoAssalariado(string nome, int rg, int idade, string endereco, long idEmpregado, double salarioBruto, double salarioLiquido, double pvalorVendas)
          : base(nome, rg, idade, endereco, idEmpregado, salarioBruto, salarioLiquido)
        {
          this.ValorVendas = pvalorVendas;
        }
      }
    • Sugerido como Resposta GeraldoGege segunda-feira, 20 de março de 2017 14:22
    sábado, 18 de dezembro de 2010 18:11
  • Juliano,

    Esta correto seria dessa forma mesmo.

    Só uma dica não coloca muitos parametros no construtor ficar ruim de ler.

    Aconselho se vc quer passar multiplos parametros utilize algum objeto de Collections como por exemplo List, Dictionary etc.


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    sábado, 18 de dezembro de 2010 23:47
  •  Ok, era isso que acabei ficando com dúvida. Muito Obrigado.
    domingo, 19 de dezembro de 2010 12:04