Professional Documents
Culture Documents
Abstract Class
Fields mAltura mBaseFig Properties Altura Area BaseFig Methods CalcularArea (+ 1 overload) cFiguras (+ 1 overload)
cRectangulo
Class cFiguras
cTriangulo
Class cFiguras
cCuadrado
Class cRectangulo
Methods EsCuadrado
Pag. 1
Pag. 2
return mAltura * mBaseFig; } } /// <returns>Valor del area de la figura</returns> public virtual double CalcularArea() { try { return mBaseFig * mAltura; } catch (Exception ex) { return -99.99; } //throw new System.NotImplementedException(); } public virtual double CalcularArea(double mA, double mB) { try { mBaseFig = mB; mAltura = mA; return mBaseFig * mAltura; } catch (Exception ex) { return -99.99; } //throw new System.NotImplementedException(); } } }
using System; using System.Collections.Generic; using System.Text; namespace Figuras { public class cRectangulo : cFiguras { public cRectangulo() { } public cRectangulo(double mB, double mA) { base.mBaseFig = mB; base.mAltura = mA; } } }
Pag. 3
namespace Figuras { public class cTriangulo : cFiguras { public cTriangulo() { //throw new System.NotImplementedException(); } public cTriangulo(double mB, double mA) { base.mBaseFig = mB; base.mAltura = mA; } public override double Area { get { return base.Area /2; } } public override double CalcularArea() { return base.CalcularArea()/2; } public override Double CalcularArea(double mB, double mA) { return base.CalcularArea(mB, mA) / 2; } } }
using System; using System.Collections.Generic; using System.Text; namespace Figuras { public class cCuadrado : cRectangulo { /// <returns>Compara la Base con la Altura para determinar si la figura es un Cuadrado</returns> public bool EsCuadrado() { return base.mBaseFig == base.mAltura; } } }
Pag. 4
namespace Figuras { public partial class Form1 : Form { private cFiguras objFig; private cCuadrado objCuadrado; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void chkTriangulo_CheckedChanged(object sender, EventArgs e) { if (chkTriangulo.Checked) { objFig = new cTriangulo(); btnEsCuadrado.Visible = false; } else { objFig = new cRectangulo(); btnEsCuadrado.Visible = true; }
Pag. 5
} private void btnConstructor_Click(object sender, EventArgs e) { if (chkTriangulo.Checked) { objFig = new cTriangulo(); } else { objFig = new cRectangulo(); } } private void btnConstructorSobr_Click(object sender, EventArgs e) { double dB; double dA; try { dB = double.Parse(txtBaseFig.Text); dA = double.Parse(txAltura.Text); } catch { MessageBox.Show("Los valores no son numricos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (chkTriangulo.Checked) { objFig = new cTriangulo(dB, dA); } else { objFig = new cRectangulo(dB, dA); } } private void btnPropiedadArea_Click(object sender, EventArgs e) { try { MessageBox.Show("El Valor de la propiedad Area es " + objFig.Area.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } private void btnCalcular_Click(object sender, EventArgs e) { try
Pag. 6
{ MessageBox.Show("El Valor obtenido por el mtodo CalcularArea es " + objFig.CalcularArea().ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } private void btnCalcularSobr_Click(object sender, EventArgs e) { try { MessageBox.Show("El Valor obtenido por el mtodo CalcularArea Sobrecargado es " + objFig.CalcularArea(Double.Parse(txtBaseFig.Text), Double.Parse(txAltura.Text)).ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } private void btnEsCuadrado_Click(object sender, EventArgs e) { objCuadrado = new cCuadrado(); try { objCuadrado.BaseFig = double.Parse(txtBaseFig.Text); objCuadrado.Altura = double.Parse(txAltura.Text); } catch { MessageBox.Show("Los valores no son numricos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (objCuadrado.EsCuadrado()) MessageBox.Show("La figura es un Cuadrado", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show("La figura es un Rectngulo", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
Pag. 7