Ej:
Clase madre"Clase persona":
namespace Herencia
{
class Persona {
protected String nombre;
protected String ci;
public Persona() {
nombre = ci = "";
}
public Persona(String n,String c) {
nombre = n;
ci = c;
}
public void SetPersona(String n, String c)
{
nombre = n;
ci = c;
}
public String GetPersona() {
return "Nombre: " + nombre + "\nCI: " + ci;
}
}
}
Clases derivadas o hijas
clase Empleado:
class Empleado:Persona{
protected String salario;
protected String cargo;
protected DateTime fnacimiento;
protected int edad;
public Empleado():base(){
cargo = "";
salario = "";
fnacimiento = DateTime.MinValue;
}
public Empleado(String n,String c,String ca,String s,DateTime fn):base(n,c){
salario = s;
cargo = ca;
fnacimiento = fn;
}
public void SetEmpleado(String n, String c, String ca, String s,DateTime fn){
base.SetPersona(n,c);
salario = s;
cargo = ca;
fnacimiento = fn;
}
public String GetEmpleado() {
edad = DateTime.Now.Year - fnacimiento.Year;
return base.GetPersona() + "\nCargo: " + cargo + "\nSalario: " + salario+"\nFecha De Nacimiento:"+fnacimiento.ToLongDateString()+"\nEdad: "+edad;
}
}
}
Clase Estudiante:
class Estudiante :Persona{
protected DateTime fnacimiento;
protected int edad;
public int ru;
protected String carrera;
protected DateTime f_ingreso;
protected double nparcial;
protected double npractica;
protected double nfinal;
protected double promedio;
protected int antiguedad;
public Estudiante() : base() {
fnacimiento = DateTime.MinValue;
ru = 0;
carrera = "";
f_ingreso = DateTime.MinValue;
nparcial = npractica = nfinal = 00;
}
public Estudiante(String n,String c,DateTime fn,int ru,String car,DateTime fing,double npa,double npr,double nf):base(n,c) {
base.SetPersona(n,c);
fnacimiento = fn;
this.ru = ru;
carrera = car;
f_ingreso = fing;
nparcial = npa;
npractica = npr;
nfinal = nf;
}
public void SetEstudiante(String n, String c, DateTime fn, int r, String car, DateTime fing, double npa, double npr, double nf)
{
base.SetPersona(n,c);
fnacimiento = fn;
ru = r;
carrera = car;
f_ingreso = fing;
nparcial = npa;
npractica = npr;
nfinal = nf;
}
public String GetEstudiante() {
edad = DateTime.Now.Year - fnacimiento.Year;
antiguedad = DateTime.Now.Year - f_ingreso.Year;
return base.GetPersona() + "\nFecha de Nacimiento: "+fnacimiento.ToLongDateString()+"\nEdad:"+edad
+"\nRU:"+ru+"\nCarrera: "+carrera+"\nFecha de Ingreso: "+f_ingreso.ToLongDateString()+"\nNota Parcial: "+nparcial
+"\nNota Practica: "+npractica+"\nNota Final: "+nfinal+"\nAntiguedad: "+antiguedad;
}
public String getnombre() {
return nombre;
}
public String getci()
{
return ci ;
}
public DateTime getfnacimiento()
{
return fnacimiento;
}
public int getedad()
{
return edad;
}
public int getru()
{
return ru;
}
public String getcarrera()
{
return carrera;
}
public DateTime getfingreso()
{
return f_ingreso;
}
public double getnparcial()
{
return nparcial;
}
public double getnpractico()
{
return npractica;
}
public double getnfinal()
{
return nfinal;
}
public double getnpromedio()
{
return promedio;
}
public int getantiguedad() {
return antiguedad;
}
public double Calcularpromedio() {
return promedio=(nparcial * 0.35) + (npractica * 0.35) + (nfinal * 0.30);
}
}
}
Form1:
En este formulario enlazamos los dos formularios que hemos creado el frmEstudiante y frmEmpleado.
FrmEstudiante:
CÓDIGO FUENTE:
public partial class FrmEstudiante : Form
{
public void Combocarrera() {
cbcarrera.Items.Add("Ingenieria de sistemas");
cbcarrera.Items.Add("Ingenieria Agronoma");
cbcarrera.Items.Add("Ingenieria Civil");
cbcarrera.Items.Add("Derecho");
cbcarrera.Items.Add("Bioquimica");
}
public void limpiar() {
txtnombreE.Clear();
txtciE.Clear();
txtru.Clear();
txtnparcial.Clear();
txtnpractica.Clear();
txtnfinal.Clear();
}
public FrmEstudiante()
{
InitializeComponent();
}
private void FrmEstudiante_Load(object sender, EventArgs e)
{
Combocarrera();
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
try
{
Estudiante Es = new Estudiante((txtnombreE.Text), (txtciE.Text), DateTime.Parse(dtpfn.Text), int.Parse(txtru.Text), cbcarrera.Text, DateTime.Parse(dtpingreso.Text), double.Parse(txtnparcial.Text), double.Parse(txtnpractica.Text), double.Parse(txtnfinal.Text));
MessageBox.Show(Es.GetEstudiante()+"\nPromedio: "+Es.Calcularpromedio(), "Datos del Estudiante");
String[] fila=new String[] {Es.getnombre(),Es.getci(),Es.getru().ToString(),Es.getfnacimiento().ToShortDateString(),Es.getcarrera(),Es.getnparcial().ToString(),Es.getnpractico().ToString(),Es.getnpromedio().ToString(),Es.getnfinal().ToString(),Es.getedad().ToString(),Es.getfingreso().ToShortDateString(),Es.getantiguedad().ToString()};
dataGridView1.Rows.Add(fila);
limpiar();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "ERROR");
}
}
}
}
FrmEmpleado:
Codigo fuente:
public partial class FrmEmpleado : Form
{
public void Combocargo() {
cbcargo.Items.Add("Abogado");
cbcargo.Items.Add("Ingeniero");
cbcargo.Items.Add("Secretaria");
cbcargo.Items.Add("Mensajero");
}
public void Combosalario() {
cbsalario.Items.Add("1000 Bs");
cbsalario.Items.Add("2000 Bs");
cbsalario.Items.Add("3000 Bs");
cbsalario.Items.Add("4000 Bs");
}
public FrmEmpleado()
{
InitializeComponent();
}
private void FrmEmpleado_Load(object sender, EventArgs e)
{
Combocargo();
Combosalario();
}
private void cbcargo_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void btnsalir_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnmostrar_Click(object sender, EventArgs e)
{
try {
Empleado Em = new Empleado((txtnombre.Text),(txtci.Text),cbcargo.Text,cbsalario.Text,DateTime.Parse(dtpfecha.Text));
MessageBox.Show(Em.GetEmpleado(),"Datos del Empleado");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "ERROR");
}
}
}
}
No hay comentarios:
Publicar un comentario