Hej,
koduję sobie proste rzeczy dla nauki.
Zrobiłem klasę abstrakcyjną Człowiek i ustawiłem datę urodzenia jako prywatną i z właściwością tylko get (daty urodzenia nie zmienimy).
Następnie w klasie dziedziczącej Mężczyzna mam konstruktor, w którym chcę ustawić datę urodzenia. VS mówi mi, że nie mogę.
Jak w takim razie zrobić tak by można było prywatne pole dataUr ustawić tylko raz (za pomoca konstruktora) i później żeby było tylko read-only?
Pomyślałem o prywatnej metodzie SetUr(value), ale w sumie chciałem wykorzystać własciowosći. Czy jest jakiś sposób? Z góry dzięki :)
namespace AplikacjaDoTestowania
{
abstract class Czlowiek
{
public string imie{get; set;}
public string nazwisko{get; set;}
private string dataUr { get; }
public TimeSpan ileDniZyje()
{
DateTime t = DateTime.Now;
DateTime dt = Convert.ToDateTime(dataUr);
TimeSpan res = t - dt;
return res;
}
public void jedz(string potrawa)
{
Console.WriteLine("OM NOM NOM! " + potrawa + "! Moge jeść w nieskończoność!");
}
}
}
namespace AplikacjaDoTestowania
{
class Mezczyzna : Czlowiek
{
public Czlowiek(string imie, string nazwisko, string dataUr)
{
this.imie = imie;
this.nazwisko = nazwisko;
this.dataUr = dataUr;
}
}
}