Public variable contra properties
Hej Eksperten,Endnu engang gik bølgerne højt til et af vores udviklingsmøder. Som mange gange før kom vi ind på vores "kode-teknik". Jeg selv står meget stejlt på mine holdninger (hvilket ofte har bragt mig i disse skænderier om vores forskelligartede implementeringsmetoder). Diskutionen denne gang gik på hvorfor i alverden man skulle lave en property (med set og get metoder) i stedet for blot at lave en public variabel, hvis man alligevel kun skulle assigne og læse fra den. Jeg selv holder på at man ALTID laver en private instansvariabel og så en public property man kan tilgå, det mener jeg er den "rigtige måde" at holde objektorienteret-heden intakt på (dvs objektet styrer selv sine instansvariable). Argumenterne (som faktisk er helt fornuftige) er at der jo ikke er nogen forskel, på nær hvis jeg kun skal gette eller kun sette. Men hvis det er en property, der kun settes og gettes (ingen databehandling) så hvorfor ikke lave den som en public variabel.
Jeg kunne godt tænke mig at høre andres holdninger til denne debat. På forhånd tak.
For at vise eksemplet, så er det det her vi snakker om:
PUBLIC INSTANSVARIABEL:
public class Bruger
{
public string fornavn;
public Bruger()
{
}
}
CONTRA EN PROPERTY
public class Bruger
{
private string fornavn;
public Bruger()
{
}
public string Fornavn
{
get { return fornavn; }
set { fornavn = value; }
}
}
