Avatar
Posix
Člen
Avatar
Posix:

Zdravím, mohl by mi někdo napsat několik příkladů z praxe, kde jsou vhodnější nested class (třída ve třídě)?

Odpovědět 12.3.2013 20:04
Proč to dělat jednoduše, když to jde složitě.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

Když se nějaká třída váže na jinou třídu a jiné použití pro ni nemá smysl. Nemá smysl sama o sobě, je součástí jiné třídy. Když jsme se to učili ve škole, měli jsme Class Auto a v ní byla třída Motor. Motor neměl bez auta smysl a nic jiného než auto motor nepoužívalo. Třeba ti dá někdo lepší odpověď, za mne alespoň takhle.

Editováno 12.3.2013 20:07
Nahoru Odpovědět 12.3.2013 20:07
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Posix
Člen
Avatar
Posix:

Jo, asi sem tě pochopil... Prostě další "zapouzdření" ve tříde... Aby nebyla jedna velka trida? Pletu se nebo mam aspon z casti pravdu?

Nahoru Odpovědět 12.3.2013 20:16
Proč to dělat jednoduše, když to jde složitě.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Posix
David Čápka:

Ona se dá udělat i veřejná, ale poté musíš používat prefix mateřské třídy, např:

public class Auto
{

  public class Motor
  {

  }

}

public class Program
{

  public void Main()
  {
     Auto.Motor motor = new Auto.Motor();
  }

}

Zdůrazňuje se svázanost. Samozřejmě ji můžeš udělat jako privátní, potom se k ní dostane jen mateřská třída a to je ten případ co jsi říkal ty, zkrátka zapouzdření. Osobně mi tyhle výmysly moc nevoní, když člověk dělá čisté OOP, vychází to kolikrát lépe.

Nahoru Odpovědět  +1 12.3.2013 20:21
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.