Diskuze: OOP pomoc
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 13 zpráv z 13.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Na tvé úrovni asi ano, až na ty názvy. Místo Fakto snad Faktorial, místo faktorial() něco jako vypocti(). V praxi se toho dělá hodně jinak, ale tam se dostaneš.
Chlape, taková odpověď mu není moc platná, to mu radši nepiš vůbec
Zkusil jsi ten faktorial nechat vypocitat a vypsat dvakrat po sobe?
Pravdu má sdraco, jen jsem odpověděl na otázku, ale měl jsem říct co je na tom blbě.
V tom případě co takto?
class Matematika
{
public static int Faktorial(int cislo)
{
int vysledek=1;
while (cislo>1)
{
vysledek*=cislo;
cislo--;
}
return vysledek;
}
}
Z pohledu OOP je důležité, že jde o sdílenou "static" funkci, takže nemusíš vytvářet instanci třídy, když ji chceš použít. Nic chytřejšího mne u faktoriálu nenapadlo, alespoň ne ke vztahu k objektovému programování.
internal static class Program
{
[STAThread]
private static void Main(string[] args)
{
for (int i = 1; i < 6; i++)
Console.WriteLine(i + " " + i.Faktorial());
}
private static int Faktorial(this int i)
{
return i > 1 ? i * Faktorial(i - 1) : i;
}
}
Může být?
Hezké a stručné, ale na můj vkus trochu nesrozumitelné
Chvíli jsem na to hleděl, než jsem to rozluštil.
Rozhodně bych takový kód nechtěl potkat bez komentáře
To ať posoudí PlTR (ježkovy oči, kdo ty přezdívky má vypisovat!)
Ale ne, je to moc pěkné. Určitě zkus checkio, tam se vyžiješ... pokud ti tedy nevadí python.
Musím se přiznat, že já se tady už ztrácím. Teoreticky vím, co jsi
napsal, ale já bych to nezopakoval
Zobrazeno 13 zpráv z 13.