Mam problem ze zrozumieniem właściwości w C#. Tzn wiem że get zwraca wartość a set ją ustawia. Mam do napisania klasę Godzina:
Godzina — reprezentuje czas jako trójkę (godzina, minuta, sekunda), oraz metody:
dodaj (int sekundy) (zwiększa czas o podaną liczbę sekund), dodaj (Godzina g)
(zwiększa czas o liczbę sekund od północy do g), operator binarny -(Godzina g1,
Godzina g2) obliczający liczbę sekund pomiędzy czasami, oraz właściwość Sekundy obliczającą liczbę sekund od północy. Przyjmij, że godzina to liczba naturalna z przedziału [0 ... 23], a minuty i sekundy to liczby z przedziału [0 ... 59].
i jak napisać właściwość Sekundy? do czego ona ma się odnosić w moim programie i po co ona w ogóle?
Mój program wygląda na razie tak:
class Godzina
{
public int sekunda, minuta, godzina;
public void dodaj(int sekundy)
{
this.godzina += (int)(sekundy / 3600);
if (this.godzina >= 24)
{
this.godzina = (this.godzina % 24);
}
this.minuta += (int)((sekundy % 3600) / 60);
if (this.minuta >= 60)
{
this.minuta = (this.minuta % 60);
this.godzina++;
}
this.sekunda += (sekundy % 60);
if (this.sekunda >= 60)
{
this.sekunda = (this.sekunda % 60);
this.minuta++;
}
}
public void dodaj(Godzina g)
{
int sek;
sek = g.godzina * 3600 + g.minuta * 60 + g.sekunda;
dodaj(sek);
}
public static int operator -(Godzina g1, Godzina g2)
{
int sek1, sek2;
sek1 = g1.godzina * 3600 + g1.minuta * 60 + g1.sekunda;
sek2 = g2.godzina * 3600 + g2.minuta * 60 + g2.sekunda;
return Math.Abs(sek1 - sek2);
}
}