Quantcast
Channel: Modelagem POO
Viewing all articles
Browse latest Browse all 2

Modelagem POO

$
0
0

Olá amigos, estou com uam duvida na parte de modelagem de duas classes beta;

ex: um abmiente seria:

- Class Pessoa : com metodos e atributos comuns 

- Class Aluno: com metodos herdado de Pessoa e atributos diferenciados, ex: Matricula

- Class Responsavel: com metodos herdado de Pessoa e atributos diferenciados

A duvida: Em Class "Pessoa" criei um construtor com seus parametros e quando vou para Class Aluno, crio o construtor Aluno com parametro especifico "Matricula". agora q não entendo, tenho que repetir o mesmo construtor de Pessoa implementando apenas a propriedade especifica, "Matricula"? ou tem como APROVEITAR o de Pessoa ???

EX ABAIXO:

CLASSE PESSOA

 

publicabstractclass Pessoa
  {#region Atributospublicstring Nome { get; set; }public DateTime DataNascimento { get; set; }publicstring Sexo { get; set; }publicstring Email { get; set; }#endregion#region Inicilizarpublic Pessoa(string xnome, DateTime xdataNascimento, string xsexo, string xemail) {this.Nome = xnome;this.DataNascimento = xdataNascimento;this.Sexo = xsexo;this.Email = xemail;
    }#endregionpublicvirtualint Cadastrar() {// INCLUI NA TABELA PESSOAreturn 1;
    }
  }

CLASSE ALUNO

publicclass Aluno : Pessoa
  {#region Atributospublicstring Matricula { get; set; }#endregion#region Inicilizarpublic Aluno(string xmatricula)
    {this.Matricula = xmatricula;
    }#endregionprivateint IncluirAluno(int pessoaID, string matricula) {// INCLUI NA TABELA ALUNO;return 1;
    }publicoverrideint Cadastrar()
    {int usuarioID = this.Cadastrar();this.IncluirAluno(usuarioID, Matricula);return 1;
    }
  }

 

 Como faço para aproveitar o Construtor de Pessoa? É POSSÍVEL?

 

Obrigado pela atenção,

Anderson

 

 

 

 


Viewing all articles
Browse latest Browse all 2

Latest Images





Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>
<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596344.js" async> </script>