+ All Categories
Home > Documents > Resumen Programando en Visual c#

Resumen Programando en Visual c#

Date post: 29-Dec-2015
Category:
Upload: ing-ismael-mendez
View: 33 times
Download: 0 times
Share this document with a friend
Popular Tags:
26
RESUMEN PROGRAMANDO EN VISUAL C# 1 VARIABLES DE MEMORIA private void button1_Click(object sender, EventArgs e) { //Crear Variables int Edad; string Nombre; //Asignar valores Edad = 34; Nombre = "Fulanito"; //Mostar variables MessageBox.Show("La edad de: "+Nombre+" es de "+ Edad+" años"); } 2 OPERACIONES CON VARIABLES NUMÉRICAS private void button2_Click(object sender, EventArgs e) { //Crear variables numéricas float a, b; //Asignar valores a las variables a = 3; b = 4; //Realizar las 4 operaciones aritmeticas y mostrar resultados MessageBox.Show("La suma de los números " + a + " + " + b + " es de: "+(a+b)); MessageBox.Show("La resta de los números " + a + " - " + b + " es de: " + (a-b)); MessageBox.Show("El producto de los números " + a + " * " + b + " es de: " + (a*b)); MessageBox.Show("La división de los números " + a + " / " + b + " es de: " + (a/b)); }
Transcript
Page 1: Resumen Programando en Visual c#

RESUMEN PROGRAMANDO EN VISUAL C#

1 VARIABLES DE MEMORIA

private void button1_Click(object sender, EventArgs e) { //Crear Variables int Edad; string Nombre; //Asignar valores Edad = 34; Nombre = "Fulanito";

//Mostar variables MessageBox.Show("La edad de: "+Nombre+" es de "+ Edad+" años"); }

2 OPERACIONES CON VARIABLES NUMÉRICAS

private void button2_Click(object sender, EventArgs e) { //Crear variables numéricas float a, b;

//Asignar valores a las variables a = 3; b = 4;

//Realizar las 4 operaciones aritmeticas y mostrar resultados MessageBox.Show("La suma de los números " + a + " + " + b + " es de: "+(a+b)); MessageBox.Show("La resta de los números " + a + " - " + b + " es de: " + (a-b)); MessageBox.Show("El producto de los números " + a + " * " + b + " es de: " + (a*b)); MessageBox.Show("La división de los números " + a + " / " + b + " es de: " + (a/b));

}

private void button9_Click(object sender, EventArgs e) {

//Uso de potencias y raiz cuadradaint bases = 10;

int altura = 15;

Page 2: Resumen Programando en Visual c#

double raiz = Math.Sqrt(Math.Pow(bases, 2) + Math.Pow(altura, 2));

MessageBox.Show("La raiz es: " + raiz);

}

3 MÉTODOS- Hay que agregar una nueva CLASE, y ponerle el nombre de métodos.

class Metodos { //Crear metodos publicos public static int sumar(int num1, int num2) { return (num1 + num2); }

public static int Multi(int num1, int num2) { return (num1 * num2); }

static public int Resta(int num1, int num2) { int resta;

resta = num1 - num2; return (resta); } }

Page 3: Resumen Programando en Visual c#

Dentro del formulario en el botón se escribe el siguiente código:

private void button3_Click(object sender, EventArgs e) { //Crear variables numéricas int a, b, Respuesta, Producto, Resta;

//Asignar valores a las variables a = 3; b = 4; //Llamar nuestros métodos Respuesta=Metodos.sumar(a, b); Producto = Metodos.Multi(a, b); Resta = Metodos.Resta(a, b); //Mandamos los resultados a lables lblProducto.Text = Producto.ToString(); lblSuma.Text = Respuesta.ToString();

//Mandamos los resultados a textbox txtSuma.Text = Respuesta.ToString(); txtProducto.Text = Producto.ToString();

//Limpiar de manera rápida foreach (Control objetoContoles in this.Controls) {

if (objetoContoles is TextBox) {

objetoContoles.Text = "";

//Enfoco en el primer TextBox this.tbxNum1.Focus(); } }

//Mostramos el resultado MessageBox.Show("El resultado de la suma es: " + Respuesta); MessageBox.Show("El resultado del producto es: " + Producto); MessageBox.Show("El resultado del producto es: " + Resta);

}

4 Ingresar Datos desde el teclado:

private void button5_Click(object sender, EventArgs e) { //Crear variables numéricas int a, b, Respuesta, Producto;

Page 4: Resumen Programando en Visual c#

//Asignar valores a las variables a = Convert.ToInt32(tbxNum1.Text); b = Convert.ToInt32(tbxNum2.Text);

//Llamar nuestros métodos Respuesta = Metodos.sumar(a, b); Producto = Metodos.Multi(a, b);

//Mostramos el resultado MessageBox.Show("El resultado de la suma es: " + Respuesta); MessageBox.Show("El resultado del producto es: " + Producto);

4.1 LIMPIAR DATOS DE LOS TEXTBOX

private void btnLimpiar_Click(object sender, EventArgs e) { //Limpiar de manera rapida

foreach (Control objetoContoles in this.Controls) {

if (objetoContoles is TextBox) {

objetoContoles.Text = "";

//Enfoco en el primer TextBox, el cursor se pone en el TextBox indicado this.tbxNum1.Focus(); } }

5 Operadores de Adición

Int X=3

X = X + 3 equivale a X += 3

Es lo mismo para la resta, multiplicación y división.

X++;

Sumamos 1 a la variable

X--;

Restamos 1 a la variable.

Page 5: Resumen Programando en Visual c#

6 Vectores

private void button6_Click(object sender, EventArgs e) { //Declarar Vectores string[] alumnos = new string[3];

//Llenar el vector o lista con Datos alumnos[0] = "Mario"; alumnos[1] = "Fabiola"; alumnos[2] = "Refugio";

//Mostrar el contenido del vector MessageBox.Show("El nombre del alumnos es: " + alumnos[1]); }

7 EJEMPLO IF

private void button7_Click(object sender, EventArgs e) { int num;

num = Convert.ToInt32(tbxNum1.Text);

if (num == 10) { MessageBox.Show("El numero es 10"); } else { MessageBox.Show("El numero no es 10. incorrecto"); } }______________________________

private void button7_Click(object sender, EventArgs e) { int num;

bool Valor = true;

//and && //or || //Diferente a !=

//Negación !

num = Convert.ToInt32(tbxNum1.Text);

if (num > 10) { MessageBox.Show("El numero es MAYOR A 10"); } else

Page 6: Resumen Programando en Visual c#

{ MessageBox.Show("El numero no es 10 O MENOR"); } }___________________________________________private void button7_Click(object sender, EventArgs e) { int num; string nombre="Pedro"; bool Valor = true;

//and && //or || //Diferente a != //Negación ! num = Convert.ToInt32(tbxNum1.Text); //if (Valor) //if (nombre=="Pedro" && num == 10) if (num == 10) { MessageBox.Show("El numero es 10"); } else { MessageBox.Show("El numero no es 10. incorrecto"); }

}

8 EJEMPLO SWITCH

private void button8_Click(object sender, EventArgs e) { int Op;

Op = Convert.ToInt32(tbxNum1.Text);

switch (Op) { case 1: MessageBox.Show("Seleccionaste la Opción 1"); tbxNum1.Text = ""; break; case 2: MessageBox.Show("Seleccionaste la Opción 2"); tbxNum1.Text = ""; break; default: MessageBox.Show("Oción no válida"); tbxNum1.Text = ""; break; }

Page 7: Resumen Programando en Visual c#

}

Int X=3

X = X + 3 equivale a X += 3

Es lo mismo para la resta, multiplicación y división.

X++;

Sumamos 1 a la variable

X--;

Restamos 1 a la variable.

9 Ciclos While, Do-While, For

private void button10_Click(object sender, EventArgs e) { //uso de while

int contador = 1;

while (contador <= 3) { MessageBox.Show("El número del contador es: "+(contador++)); } }

--------------------------------------------DO-WHILE

private void button10_Click(object sender, EventArgs e) { //uso de while

int contador = 1;

do {

Page 8: Resumen Programando en Visual c#

MessageBox.Show("El número del contador es: "+(contador++)); } while (contador <= 3); }

--------------------------------------------FOR

private void button10_Click(object sender, EventArgs e) { //uso de while

int contador = 1;

for (int contador = 0; contador <=3; contador++) { MessageBox.Show("El número del contador es: " + contador); } }

ATRAPAR ERRORES

try { //Condiciones (como condicionar para ingresar solo letras o números a una variable de tipo string)

num = Convert.ToInt32(txtNum.Text); } catch { MessageBox.Show("Tienes que ingresar un numero entero");

}

10 CLASES Y OBJETOS

Creamos una clase y escribimos el sig código

class Alumno { //Atributos private string Nombre; //private que no puedan ser accesados desde fuera de la clase private string Apellido; private int Edad;

//Metodo contructor public Alumno(string Nombre, string Apellido, int Edad) //desde fuera podemos asignar parametros {

Page 9: Resumen Programando en Visual c#

this.Nombre = Nombre; //this se refiere a los atributos de la clase, recibe los parametros y los asigna a los atributos this.Apellido = Apellido; this.Edad = Edad; }

//Metodos para realizar dos tipos de operaciones como cambiar los valores de los atributos y obtenerlos // Método Get (permite obtener información de los atributos de nuestra clase. public string ComentarNombre() //Podemos saber desde fuera el valor de este atributo ya que es public { return this.Nombre; }

public string ComentarApellido() { return this.Apellido; }

public int ComentarEdad() { return this.Edad; }

//Métodos SET para modificar la información, los atributos de la clase

public void CambiarNombre(string Nombre) //con el void indicamos que no devolvemos nada { this.Nombre = Nombre; }

public void CambiarApellido(string Apellido) { this.Apellido = Apellido; }

public void CambiarEdad(int Edad) { this.Edad = Edad; }

}

---Dentro del evento clik botón mostrar

private void cmbMostrar_Click(object sender, EventArgs e) { //Instanciar el objeto Alumno (creamos el objeto) Alumno Alumno_Fulanito = new Alumno("Yomero", "Gomez", 34);

//Muestra los datos del objeto Alumno_Fulanito

Page 10: Resumen Programando en Visual c#

MessageBox.Show("Datos del alumno" + "\n Nombre: " + Alumno_Fulanito.ComentarNombre() + "\n Apellido: " + Alumno_Fulanito.ComentarApellido() + "\n Edad: " + Alumno_Fulanito.ComentarEdad()); }

private void cmbCambiar_Click(object sender, EventArgs e) { Alumno Alumno_Fulanito = new Alumno("Yomero", "Gomez", 34); Alumno_Fulanito.CambiarNombre(txtNombre.Text); Alumno_Fulanito.CambiarApellido(txtApellido.Text); Alumno_Fulanito.CambiarEdad(Convert.ToInt16(txtEdad.Text));

//Muestra los datos del objeto Alumno_Fulanito MessageBox.Show("Datos del alumno" + "\n Nombre: " + Alumno_Fulanito.ComentarNombre() + "\n Apellido: " + Alumno_Fulanito.ComentarApellido() + "\n Edad: " + Alumno_Fulanito.ComentarEdad());

}

VALIDACIÓN

Dar de alta la librería:

using System.Windows.Forms;

Para mandar mensaje al usuario de lo que se permite introducir

private void txtClave_KeyPress(object sender, KeyPressEventArgs e) { if (!(char.IsLetter(e.KeyChar)) && (e.KeyChar != (char)Keys.Back)) { MessageBox.Show("Solo se permiten letras sin espacios", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); e.Handled = true; return; } }

Para que se bloquee las teclas que no son necesarias y solo puedan introducir ya sea letras o números.

Agregar una nueva clase Validación

class Validacion

Page 11: Resumen Programando en Visual c#

{ public void SoloLetras(KeyPressEventArgs e) { char Letras; Letras = e.KeyChar;

//Para obligar a que sólo se introduzcan letras

if (Char.IsLetter(Letras)) { e.Handled = false; }

else if (char.IsControl(Letras)) //permitir teclas de control como retroceso { e.Handled = false; }

else if (Char.IsSeparator(e.KeyChar)) //permitir espacios { e.Handled = false; }

else { //el resto de teclas pulsadas se desactivan e.Handled = true; } }

public void SoloNumeros(KeyPressEventArgs e) { char Numeros; Numeros = e.KeyChar;

if (Char.IsDigit(Numeros)) { e.Handled = false; }

else if (char.IsControl(Numeros)) { e.Handled = false; } else { e.Handled = true; } } }

Page 12: Resumen Programando en Visual c#

Y dentro del formulario en el Evento KEYPRESS del textbox a tratar

private void txtApellidos_KeyPress(object sender, KeyPressEventArgs e) { V1.SoloLetras(e); }

private void txtEdad_KeyPress(object sender, KeyPressEventArgs e) { V1.SoloNumeros(e); }

11. HERENCIA

Creamos una clase Padre

class Animales { //Atributos public string IdAnimal; public string Nombre; public string Color; public int Edad;

//Método contructor (para poder accesar a los atributos y modificarlos) public Animales(string IdAnimal, string Nombre, string Color, int Edad) { this.IdAnimal = IdAnimal; this.Nombre = Nombre; this.Color = Color; this.Edad = Edad; }

/*Apartir de aquí, colocamos todos lod Metodos para realizar * dos tipos de operaciones como modificar y/o ingresar * los valores de los atributos y obtenerlos para mostrarlos*/ //Métodos Get public string ObtenerIdAnimal() { return this.IdAnimal; } public string ObtenerNombre() { return this.Nombre; } public string ObtenerColor() { return this.Color; } public int ObtenerEdad() { return this.Edad; }

Page 13: Resumen Programando en Visual c#

//Métodos Set, para ingresar o modificar los valores de los atributos public void ModificarIdAnimal(string IdAnimal) { this.IdAnimal = IdAnimal; } public void ModificarNombre(string Nombre) { this.Nombre = Nombre; } public void ModificarColor(string Color) { this.Color = Color; } public void ModificarEdad(int Edad) { this.Edad = Edad; }

/*Declaramos los métodos y funciones(lo que realizan) Acciones comunes de los animales*/

public void Comer() { MessageBox.Show("El anumal está cominedo"); } public void Dormir() { MessageBox.Show("El anumal está durminedo"); } public void Aparear() { MessageBox.Show("El animal está apareando"); }

}

Creamos la clase hija:

class Peces : Animales /*Le indicamos que la clase Peces va a heredar * los atributos y métodos de la clase padre(Animales)*/ {

/*Puedes usar el código que se genera con "propfull" y tabulador * para automatizar la declaración de método contructor y metodos Get y Set*/ //Declaramos los atributos propios de la clase hijo private string tipo_aguas;

//Método contructor /*En el contructor de la clase hija, debemos integrar todos los atributos * que va a heredar y los propios de su clase*/ public Peces(string IdAnimal, string Nombre, string Color, int Edad, string tipo_aguas)

Page 14: Resumen Programando en Visual c#

:base(IdAnimal, Nombre, Color, Edad) //en esta sección se debe de inidcar con la instrucción (base:)Los atributos que heredamos { /*Solo generamos el código de los atributos propios de la clase hijo * ya que no es necesario vovler a contruir los atributos de la clase padre*/ this.tipo_aguas = tipo_aguas; }

//Declaramos el método(s) get public string ObtenerTipo_aguas() { return this.tipo_aguas; }

//Declaramos el método set(s) public void ModificarTipo_aguas(string tipo_aguas) { this.tipo_aguas = tipo_aguas; } //Declaramos los métodos y funciones propios de la clase hija (lo que hacen los peces) public void Nadar() { MessageBox.Show("El pez está nadando"); }

}

En la vista diseño, puede quedar de la siguiente forma:

Page 15: Resumen Programando en Visual c#

Código para el Form1:

public partial class Form1 : Form {

Animales Tipo_Animal = new Animales("", "", "", 0); //Este es un objeto generado desde la clase padre, con sus atributos y funciones Peces Tipo_Pez = new Peces("","","",0,""); //Este es un objeto creado apartir de la clase hija que hereda los atributos y funciones d ela clase padres

public Form1() { InitializeComponent(); }

private void Form1_Load(object sender, EventArgs e) {

}

//Realizamos la intrucción de guardar desde la clase padre Animales private void cmbGuardar_Click(object sender, EventArgs e) { /*El objeto tipo_Animal de la clase padre (Animales), * accede a sus atributos declaradas en esta clase*/ Tipo_Animal.ModificarIdAnimal(txtIdAnimal.Text); Tipo_Animal.ModificarNombre(txtNombre.Text); Tipo_Animal.ModificarColor(txtColor.Text); Tipo_Animal.ModificarEdad(Convert.ToInt16(txtEdad.Text));

MessageBox.Show("Los datos fueron guardados");

Page 16: Resumen Programando en Visual c#

}

//Mostramos todos los atributos de la clase padre private void cmbMostrar_Click(object sender, EventArgs e) { MessageBox.Show("Los datos del animal clase padre son: " // El objeto Tipo_Animal de la clase Padre(Animales) accede a sus atributos + "\n Clave: " + Tipo_Animal.ObtenerIdAnimal() + "\n Nombre: " + Tipo_Animal.ObtenerNombre() + "\n Color: " + Tipo_Animal.ObtenerColor() + "\n Edad: " + Tipo_Animal.ObtenerEdad()); }

private void cmbComer_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su función (Comer) declarada en esta clase*/ Tipo_Animal.Comer(); }

private void cmbDormir_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su función (Dormir) declarada en esta clase*/ Tipo_Animal.Dormir(); }

private void cmbAparear_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su función (Aparear) declarada en esta clase*/ Tipo_Animal.Aparear(); }

//Realizamos la intrucción de guardar desde la clase hija (Peces) private void cmbGuardarPez_Click(object sender, EventArgs e) { /*El objeto tipo_Pez de la clase hija (Peces), * puede acceder a los atributos declarados en la clase Padre (Animales)*/ Tipo_Pez.ModificarIdAnimal(txtIdAnimal.Text); Tipo_Pez.ModificarNombre(txtNombre.Text); Tipo_Pez.ModificarColor(txtColor.Text); Tipo_Pez.ModificarEdad(Convert.ToInt16(txtEdad.Text));

/*El objeto tipo_Pez de la clase hija (Peces), * puede acceder sus porpios atributos delcarados en la clase (Peces)*/ Tipo_Pez.ModificarTipo_aguas(txtTipo_agua.Text);

MessageBox.Show("Los datos del pez se guradaron correctamente");

}

Page 17: Resumen Programando en Visual c#

private void cmbMostrarPez_Click(object sender, EventArgs e) { //Mostramos todos los atributos de la clase padre MessageBox.Show("Los datos del animal clase padre son: " + "\n Clave: " + Tipo_Pez.ObtenerIdAnimal() + "\n Nombre: " + Tipo_Pez.ObtenerNombre() + "\n Color: " + Tipo_Pez.ObtenerColor() + "\n Edad: " + Tipo_Pez.ObtenerEdad() //Mostramos loas atributos de la clase hijo + "\n Los datos del pez clase hijo son: " + "\n Tipo de Agua: " + Tipo_Pez.ObtenerTipo_aguas()); }

private void cmbNadar_Click(object sender, EventArgs e) { //Mandamos llamar al métodos Nadar propio de la clase hijo(Peces) Tipo_Pez.Nadar(); }

private void cmbTodoPez_Click(object sender, EventArgs e) { //Mandamos llamas los métodos de la clase padre(Animales) Tipo_Pez.Comer(); Tipo_Pez.Dormir(); Tipo_Pez.Aparear(); //Mandamos llamar el método de la clase hijo Tipo_Pez.Nadar(); } }

12 Polimorfismo

Creamos una clase con las siguientes características

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;

namespace PolimorfismoEjem1{ class Motocicletas { //Atributos private string Nombre; private string Tipo; private string Marca; private int Modelo; private int CenCub;

//Método contructor

Page 18: Resumen Programando en Visual c#

public Motocicletas(string C_Nombre, string C_Tipo, string C_Marca, int C_Modelo, int C_CenCub) { this.Nombre = C_Nombre; this.Tipo = C_Tipo; this.Marca = C_Marca; this.Modelo = C_Modelo; this.CenCub = C_CenCub; }

//Método contructor default public Motocicletas() { this.Nombre = ""; this.Tipo = ""; this.Marca = ""; this.Modelo = 0; this.CenCub = 0; }

//Métodos GET public string MostrarNombre() { return this.Nombre; } public string MostrarTipo() { return this.Tipo; } public string MostrarMarca() { return this.Marca; } public int MostrarModelo() { return this.Modelo; } public int MostrarCenCub() { return this.CenCub; }

//Métodos Set public void GuardarNombre(string M_Nombre) { this.Nombre = M_Nombre; } public void GuardarTipo(string M_Tipo) { this.Tipo = M_Tipo; } public void GuardarMarca(string M_Marca) { this.Marca = M_Marca; } public void GuardarModelo(int M_Modelo) { this.Modelo = M_Modelo;

Page 19: Resumen Programando en Visual c#

} public void GuardarCenCub(int M_CenCub) { this.CenCub = M_CenCub; }

}}

Creamos un formulario con estas características

Dentro del código del formulario escribimos

namespace PolimorfismoEjem1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }

private void label3_Click(object sender, EventArgs e) {

}

private void cmbGuardar_Click(object sender, EventArgs e) {

Page 20: Resumen Programando en Visual c#

Validaciones V1 = new Validaciones(); //codigo para validar que todos los textbox estén llenos V1.validad(this);

//Creamos el objeto del cual va a usar el costructor con parámetros Motocicletas MyMoto1 = new Motocicletas(txtNombre.Text, txtTipo.Text, txtMarca.Text, Convert.ToInt32(txtModelo.Text), Convert.ToInt32(txtCenCub.Text)); MessageBox.Show("La motocicleta CON parámetros: " + "\n Nombre: " + MyMoto1.MostrarNombre() + "\n Tipo: " + MyMoto1.MostrarTipo() + "\n Marca: " + MyMoto1.MostrarMarca() + "\n Modelo: " + MyMoto1.MostrarModelo() + "\n Centímetros Cúbicos: " + MyMoto1.MostrarCenCub());

//Creamos el objeto del cual va a a usar el costructor SIN parámetros Motocicletas MyMoto2 = new Motocicletas(); MessageBox.Show("La motocicleta SIN parámetros: " + "\n Nombre: " + MyMoto2.MostrarNombre() + "\n Tipo: " + MyMoto2.MostrarTipo() + "\n Marca: " + MyMoto2.MostrarMarca() + "\n Modelo: " + MyMoto2.MostrarModelo() + "\n Centímetros Cúbicos: " + MyMoto2.MostrarCenCub());

/*Al usar el constructor con un objeto y con parámetros, y tambíen usarlo sin parámetros, * es mandar llamar al mismo método pero de distina forma (POLIMORFISMO), al utilizar este método * con parámetros diferentes, estamos usando la sobrecarga del método, * En específico esta es un plimorfismo paramétrico, ya que indicamos en un objeto mostramos * las variables que obtenemos de los textbox y en el otro mostramos las variafles por DEFAULT * que se codificaron el el método contructor por default*/

} }}

Código para validaciones

class Validaciones { //Declaramos una variable de control para revisar si hay un textbox vacio public bool vacio;

public void validad(Form1 formulario) { foreach (Control oControls in formulario.Controls) //Buscar en cada textbox de mi formulario {

Page 21: Resumen Programando en Visual c#

if (oControls is TextBox && oControls.Text == string.Empty)//Revisamos que el textboox no este vacio { vacio = true;//Si esta vacio alguno de nuestros textbox asignamos el valor true a nuestra variable } }

if (vacio == true) //Si nuestra variable vacio esta en true, mostramos un mensaje de advertencia MessageBox.Show("Hay campos sin llenar, favor de ingresar todos los datos","Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); vacio = false; //Devovemos el valor original a nuestra variable }

}

POLIMORFISMO CON SOBRE ESCRITURA

Ejemplo 2: Este ejemplo define una clase base denominada Employee y una clase derivada denominada SalesEmployee. La clase SalesEmployee incluye una propiedad adicional, salesbonus, e invalida el método CalculatePay para tenerlo en cuenta.

class TestOverride{ public class Employee { public string name;

// Basepay is defined as protected, so that it may be // accessed only by this class and derrived classes. protected decimal basepay;

// Constructor to set the name and basepay values. public Employee(string name, decimal basepay) { this.name = name; this.basepay = basepay; }

// Declared virtual so it can be overridden. public virtual decimal CalculatePay() { return basepay; } }

// Derive a new class from Employee.

Page 22: Resumen Programando en Visual c#

public class SalesEmployee : Employee { // New field that will affect the base pay. private decimal salesbonus;

// The constructor calls the base-class version, and // initializes the salesbonus field. public SalesEmployee(string name, decimal basepay, decimal salesbonus) : base(name, basepay) { this.salesbonus = salesbonus; }

// Override the CalculatePay method // to take bonus into account. public override decimal CalculatePay() { return basepay + salesbonus; } }

static void Main() { // Create some new employees. SalesEmployee employee1 = new SalesEmployee("Alice", 1000, 500); Employee employee2 = new Employee("Bob", 1200);

Console.WriteLine("Employee4 " + employee1.name + " earned: " + employee1.CalculatePay()); Console.WriteLine("Employee4 " + employee2.name + " earned: " + employee2.CalculatePay()); }}/* Output: Employee4 Alice earned: 1500 Employee4 Bob earned: 1200*/

13. Excepciones

14. Flujos y archivos


Recommended