C sharp - Crear una instancia de clase para calculo de sueldo de trabajadores

 
Vista:
Imágen de perfil de Maria

Crear una instancia de clase para calculo de sueldo de trabajadores

Publicado por Maria (1 intervención) el 16/04/2016 23:01:54
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//Una empresa tiene dos turnos(mañana y tarde) en los que trabajan 8 empleados
//(4 por la mañana y 4 por la tarde)
//Confeccionar un programa que permita almacenar los sueldos de los empleados agrupados por turno.
//Imprimir los gastos en sueldos de cada turno.
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication14
{
    class Trabajadores
    {
        private Double[] sueldoNocturno, sueldoDiurno;
        private int[] cedula;
        private String[] nombre, apellido;
 
        private void ingreso()
        {
            String cadena;
            cedula = new int[20];
            sueldoDiurno = new double[20];
            sueldoNocturno = new double[20];
            nombre = new string[20];
            apellido = new string[20];
 
            Console.WriteLine("Ingrese Los datos de los empleados");
 
            Console.WriteLine("Turno Diurno:");
 
            for (int i = 1; i <= 5;  i++)
            {
                Console.Write(" ===== Dato N: " + i + " ===== ");
                Console.Write("Nombre: ");
                nombre[i] = Console.ReadLine();
 
                Console.WriteLine("");
 
                Console.Write("Apellido: ");
                apellido[i] = Console.ReadLine();
 
                Console.WriteLine("");
 
                Console.Write("Cedula: ");
                cadena = Console.ReadLine();
                cedula[i] = int.Parse(cadena);
 
                Console.WriteLine("");
 
                Console.Write("Salario: ");
                cadena = Console.ReadLine();
                sueldoDiurno[i] = Double.Parse(cadena);
                Console.Write(" ================= ");
            }
 
            Console.ReadKey();
            Console.Clear();
 
            Console.WriteLine("Turno Nocturno:");
            for (int n = 1; n <= 5; n++)
            {
                Console.Write(" ===== Dato N: " + n + " ===== ");
                Console.Write("Nombre: ");
                nombre[n] = Console.ReadLine();
 
                Console.WriteLine("");
 
                Console.Write("Apellido: ");
                apellido[n] = Console.ReadLine();
 
                Console.WriteLine("");
 
                Console.Write("Cedula: ");
                cadena = Console.ReadLine();
                cedula[n] = int.Parse(cadena);
 
                Console.WriteLine("");
 
                Console.Write("Salario: ");
                cadena = Console.ReadLine();
                sueldoNocturno[n] = Double.Parse(cadena);
                Console.Write(" ================= ");
 
            }
        }
 
        private double calculoDiurno()
        {
            double sueldoDiurno = 0;
 
            for (int i = 1; i <= 5; i++)
            {
                sueldoDiurno = (sueldoDiurno + sueldoNocturno[i]);
            }
            return sueldoDiurno;
        }
 
        private double calculoNocturno()
        {
            double sueldoNocturno = 0;
 
            for (int i = 1; i <= 5; i++)
            {
                sueldoNocturno = (sueldoNocturno + sueldoDiurno[i]);
            }
            return sueldoNocturno;
        }
 
        private void imprmir()
        {
            calculoNocturno();
 
            Trabajadores x = new Trabajadores();
 
            double ResultadoDiurno = 0;
            double ResultadoNocturno = 0;
 
            ResultadoDiurno = x.calculoDiurno();
            ResultadoNocturno = x.calculoNocturno();
 
            Console.WriteLine("Total de Sueldo Diurno: " + ResultadoDiurno);
            Console.WriteLine("Total de sueldo Nocturno: " + ResultadoNocturno);
 
        }
    }// class
    class Program
    {
        static void Main(string[] args)
        {
            Trabajadores y = new Trabajadores();
            y.// LLAMANDO A OBJETO
        }
    }
}

2 pregunticas :)

1) estoy algo confudida no manejo muy bien ni comprendo los terminos de instanciacion me parecen algo enredado y no lo comprendo muy bien su funcionamiento según lo que he leido es algo asi:

Perro Rallo = new Perro();
Rallo = se convierte en una nueva estancia ( que es una instancia expliquenmelo en terminos sencillos porfavor?

y es del tipo perro = como del tipo perro ?

alguien que me pueda explicar esto un poco mas sencillo los terminos que se manejan en internet no los comprendo son algo muy complicado para mi

2) en mi función imprimir puede acceder a los metodos ( creo que se les llama asi) para calcular los salario diurno y nocturno de mis trabajadores, pero ahora tengo un problema en la funcion main tratao de hacer lo mismo que realize en la funcion imprimir pero no puedo acceder a la clase trabajadores.

No se si lo que les acabo de decirles es el mejor manejo de los terminos, estoy empezando a programar y me gustaria aprender mucho, hablar tecnicamente y de forma correcta, por eso pido ayuda a ustedes si ven que equivoco corrijanme el :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Crear una instancia de clase para calculo de sueldo de trabajadores

Publicado por Mario Amezcua (11 intervenciones) el 18/04/2016 18:44:52
Hola,

En respuesta a tus preguntas:

1) Una clase es un prototipo, es decir un modelo en el cual te basas para constuir (instanciar) objetos de esa clase, dejame darte un ejemplo: una fabrica de autos construye un "prototipo" de su modelo 2016, ese auto tiene la forma, el equipo y la utilidad que tendran todos los autos 2016, pero ese auto no representa a todos los autos que salen de la fabrica, pues en cada auto se pueden variar algunos valores en sus caracteristicas, por ejemplo unos seran de color rojo, otros azules, otros tendran estereo y otros no, pero todos tendran por ejemplo el motor, llantas, ventanas y en general la forma pre-establecida por el prototipo. Seran "copias" del prototipo pero cada uno es independiente y puedes variar algunas caracteristicas sin afectar a los demas autos del mismo modelo.

En programacion es lo mismo, una clase es el prototipo y un objeto o instancia es la copia independiente y usable, la clase que es el prototipo determina las propiedades y metodos, en general la forma del objeto, pero cada objeto creado de esa clase es independiente y puedes manipular los valores de las propiedades y llamar a los metodos de manera independiente.


2) En POO hay algunos conceptos básicos que necesitas estudiar antes de poder entender un programa: clases y objetos, herencia, polimorfismo y encapsulacion te recomiendo que les des una repasada, el que no puedas ver los metodos de tu clase se debe a lo que llamamos Encapsulacion, que no es otra cosa que ponerle un nivel de seguridad a cada elemento de una clase. Para esto se emplean las palabras public, protected y private en C#. Un miembro public se podar ver y utilizar dentro y fuera del objeto (una instancia), un miembro private solo sera visible dentro del mismo objeto, es decir, solo lo podran utilizar las operaciones y metodos de la misma clase, pero no podar usarlo ni verlo si lo usan desde una instancia del objeto. Y un miembro protected se comporta como private y como public solo para los miembros heredados.

Espero que te sea de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Crear una instancia de clase para calculo de sueldo de trabajadores

Publicado por Jacobo Daniel (9 intervenciones) el 31/05/2016 01:23:31
Hola maria :)
Bueno pues espero poder aclarar un poco mejor tus dudas...

1.- Una instancia no es nada mas que un objeto sobre el que puedes trabajar las propiedades y metodos de otra clase
Ejemplo Tienes una clase Administracion y otra clase Trabajador y quieres usar un metodo de la clase trabajador en la clase Administracion asi que solo instancias a trabajador y desde ahi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class trabjador {
 
int sueldo;
 
 
public int getsueldo() {
 
return sueldo
}
 
}
 
public class administracion{
 
trabajador emple = new trabajador();
 
emple.getsueldo();
 
}


2.- Parra usar una clase en otra clase solo necesitas que ambas clases esten en el mismo paquete e instanciar esa clase como te dije arriba :) solo pones el nombre de la clase seguido de el nombre que quieres que tenga tu instancia = new el nombre de la clase


1
NombreClase NombreInstancia= new NombreClase();

Espero haberte ayudado

Suerte!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar