Por favor ayuda no se colocar un destructor, constructor y sobrecarga en mi código C#
Publicado por daniel (1 intervención) el 30/04/2021 03:30:50
Me podrán apoyar con el siguiente problema.
1 Retoma la clase llamada Empleado que realizaste en la Actividad 1, la cual contiene 6
variables de instancia (datos miembro) y define un constructor polimórfico bajo la siguiente
regla: constructor que reciban uno, dos y tres datos (desarrollarás 3 constructores).
2 Agrega un destructor cuya única funcionalidad será limpiar los datos miembro (variables
de instancia)
3. Tu clase Empleado ya contiene los métodos Asignar Salario Mensual y Asignar Bono
Mensual, así que sobrecarga ambos métodos, de manera que tengan diferentes firmas
de métodos, pero el mismo nombre.
Mi archivos son:
------------------------
1 Retoma la clase llamada Empleado que realizaste en la Actividad 1, la cual contiene 6
variables de instancia (datos miembro) y define un constructor polimórfico bajo la siguiente
regla: constructor que reciban uno, dos y tres datos (desarrollarás 3 constructores).
2 Agrega un destructor cuya única funcionalidad será limpiar los datos miembro (variables
de instancia)
3. Tu clase Empleado ya contiene los métodos Asignar Salario Mensual y Asignar Bono
Mensual, así que sobrecarga ambos métodos, de manera que tengan diferentes firmas
de métodos, pero el mismo nombre.
Mi archivos son:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Collections.Generic;
using System.Text;
namespace DPRN2_U1_A1_JONC
{
public class Empleado /* creación de clase empleado y publica para poder ser usada en cualquier instancia*/
{
public int numdeempleado; /*creación de atributos solicitados*/
public string nombre;
public string numtelefono;
public string correo;
public decimal salario;
public decimal bonoMensual;
public int Numdeempleado { get; set; } /*entrada y salida de datos*/
public string Nombre { get; set; } /*Get es entrada y set es salida*/
public string Numtelefono { get; set; }
public string Correo { get; set; }
// public decimal Salario { get; set; }
public decimal Salario //vamos a definir por metodo get la validación de datos para número
{
get
{ return salario; //retorno del valor salario
}
set
{
if (value < 0)//vamos a validar que si es valor es menor a 0
{
value = 0.0m; //asignara el valor de 0.0
Console.WriteLine("El salario fue negativo se asignara 0.0 "); //mensaje
}
salario = value; //retorno de valor
}
}
public decimal BonoMensual //vamos a definir por metodo get la validación de datos para número
{
get
{
return bonoMensual;
}
set
{
if (value < 0)//vamos a validar que si es valor es menor a 0
{
value = 0.0m; //si es negativo el valor será asignando valor 0
Console.WriteLine("El bono es negativo se asignara 0.0 ");
}
bonoMensual = value;
}
}
//metodo para asignar Bono
public decimal AsignarBono(decimal salario, decimal bono)
{ // decimal bono=1.10m;//variable de bono se puede realizar directo pero por buena practica la declaro
decimal totalSalario = salario * bono; //calculo de salario
return totalSalario;
}
//método para calcular salario anual + bono
public decimal SueldoAnual(decimal totalSalario)
{
decimal totalSalarioM = totalSalario * 12;
return totalSalarioM;
}
}
}
------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
namespace DPRN2_U1_A1_JONC
{
class Program
{
static void Main(string[] args)
{
Empleado empleado;
empleado = new Empleado(); //instancio la clase empleado
Console.WriteLine("Bienvenido a la actividad 1 NET 2");
Console.WriteLine("Por favor ingresa el No del empleado");
empleado.Numdeempleado = int.Parse(Console.ReadLine());//mando los datos de la consola a set de la clase empleado
Console.WriteLine("Ingresa Nombre");
empleado.Nombre = Console.ReadLine();
Console.WriteLine("Ingresa No telefónico");
empleado.Numtelefono = Console.ReadLine();
Console.WriteLine("Ingresa el correo");
empleado.Correo = Console.ReadLine();
Console.WriteLine("Ingresa el salario mensual");
empleado.Salario = decimal.Parse(Console.ReadLine());
//mostramos los datos capturados en base a la clase empleado
Console.WriteLine("El n° de empleado es: " + empleado.Numdeempleado);
Console.WriteLine("El nombre del empleado es: " + empleado.Nombre);
Console.WriteLine("El número de telefono es: " + empleado.Numtelefono);
Console.WriteLine("El correo registrado es: " + empleado.Correo);
Console.WriteLine("El salario mensual es: " + empleado.Salario + " pesos mexicanos");
//se pide confirmación para calculo de aumento salario y aplicamos llamado del método creado
Console.WriteLine("¿Va tener aumento salarial en base a bono? S/N");
string validacion = Console.ReadLine();
if (validacion !="s")//vamos determinar si se asignara bono o no
{
empleado.BonoMensual = 1.0m; //mandamos el parametro de valor del bono
Console.WriteLine("No se asigno bono"); //mensaje
empleado.AsignarBono(empleado.Salario, empleado.BonoMensual); //método asignar bono y mandamos dato del salario + el valor del bono
}
else
{
empleado.bonoMensual = 1.10m; //valor del bono si quiere aplicar
Console.WriteLine("Tú salario mensual + bono es:" + empleado.AsignarBono(empleado.Salario,empleado.BonoMensual) + " pesos mexicanos"); //imprimira el valor del método
}
Console.WriteLine("Deseas calcular salario anual S/N"); //validación para aplicar el salario anual en base al metodo creado
string vali = Console.ReadLine();
if (vali != "s")//vamos determinar si se calculara salario anual o no
{
Console.WriteLine("No se calculo salario anual"); //mensaje
}
else
{
Console.WriteLine("El salario anual es: " + empleado.SueldoAnual(empleado.AsignarBono(empleado.Salario, empleado.BonoMensual)) + " pesos mexicanos"); //calculo basado en métodos y datos obtenidos de sentencias get y set
}
}
}
}
Valora esta pregunta


0