BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Quiero en la clase crear una variable pública estática, tipo

erdanblo

Quiero en la clase crear una variable pública estática, tipo int en la clase:

namespace Examen_A
{
class Trabajadores
{
public static int TotalTrabajadores = 100;

private string nombre;
private int id;
private int horasTotales;
private int[] meses;

public Trabajadores(int id, string nombre, int[] meses, int horasTotales)
{
this.id = id;
this.nombre = nombre;
this.meses = meses;
this.horasTotales = horasTotales;
}
}
}

Y Luego desde el formulario, quiero usarla, pero si pongo Tr[Num].horasTotales no me aparece. Si le quito el "static" si funciona, pero claro, ya no es lo mismo ;P

overpeer

Evidentemente, si declaras un miembro estático no puedes llamarlo desde una instancia de la clase, si no desde la clase en si :P

Para usar ese miembro has de utilizar: Trabajadores.TotalTrabajadores ... :P

Un saludo.

🗨️ 1
erdanblo

Ty.

Muchas gracias, era eso. ^^

Bodescu

Por que hacerla publica?

Prueba a hacerla private, y juega con los accesores GET y SET.

un saludo

🗨️ 10
erdanblo

Tienes razón, según tengo entendido una de las reglas básica de POO es evitar usar los Public, y todo los miembros tratarlos a través de métodos para que no se cuele nada, pero es que el ejercicio pedia eso, y es 1 puntito en el examen.

🗨️ 9
Bodescu

La regla principal en el examen es hacerlo. Como? Como puedas xD

Sin embargo debes tratar de respetar los pilares de la programacion orientada a objetos, y uno de ellos es el principio de encapsulacion: Todos los objetos deben ser cerrados al mundo exterior. Si deben intercambiar info, lo hacen a traves de los accesores.

un saludo

pinkfloyd

Por curiosidad, Erdanblo ¿Qué estudias? Aparte de programación, claro, que supongo será una asignatura integrada.

🗨️ 7
erdanblo

CFGS ASI

🗨️ 6
erdanblo
erdanblo
🗨️ 4
erdanblo
erdanblo
🗨️ 2