» Poradna » Programy

C# - konštruktory

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 7/7
 |   |   |  [91.127.8.---]

class OdvodenaTrieda : ZakladnaTrieda
{
public OdvodenaTrieda() : base()
{

}
}

Prečo sa konštruktory nadtriedy dajú v C# a Jave volať iba na začiatku konštruktoru podtriedy? Mohol by mi niekto vysvetliť význam tohto nezmyslu. Sú predsa situácie kedy by bolo vhodné zavolať konštruktor rodičovskej triedy napr. po splnení nejakej podmienky tak ako sa to bežne robí v Delphi:

type
OdvodenaTrieda = class(ZakladnaTrieda)
public
constructor Create;
end;

constructor OdvodenaTrieda.Create;
begin
if Podmienka then inherited Create
else inherited Create('Nejaký parameter');
end;

Odpovědi na otázku

 |   |   |  [86.49.45.---]

Smysl toho je takovy, ze napred konstruujes predka a potom potomka, coz je logicke.

Muzes mi rict, jaky konkretni problem resis, ze ti tohle nevyhovuje?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [84.47.3.---]

chcem skontrolovať akého typu je patrameter a podľa toho buď vyvolať výnimku alebo konštruktor rodičovskej triedy.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [86.49.45.---]

Tak holt vyvolas vyjimku az po konstruktoru rodicovske tridy.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [84.47.50.---]

to práve nejde keď sa zavolá rodičovská trieda s tým typom parametru ktorí nechcem tak sa vyvolá úplne iná výnimka...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [84.47.50.---]

ktorÝ

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Mno kdyz to chces testovat na typ parametru, tak proste udelas konstruktory jen s tim typem parametru, kterej chces povolit. Tedy jestli bys chtel povolit jen konstruktor s parametrem int, tak nebudes delat konstruktory s parametrem string, char, double... a ty zakazovat. Proste je vubec neudelas.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |   |  [84.47.50.---]

V tomto prípade sa mi zdá jednoduchšie udržiavať jeden konštruktor hlavne keď všetky typy parametrov majú spoločného predka.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Public



Určitě si přečtěte


Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

Tesla chce změnit nákladní dopravu. Její elektrický náklaďák má ohromující parametry

** Tesla představila elektrický kamion ** Má obdivuhodný výkon i dojezd ** Prodávat by se měl už za dva roky

Včera | Vojtěch Malý | 123

30 počítačových brzd, které vám zpomalí Windows

30 počítačových brzd, které vám zpomalí Windows

Na webu najdete hromadu rad, jak zrychlit počítač a Windows. My jsme na to šli opačně a naopak jsme hledali činnosti, které ho nejvíce zpomalují. Toto je třicítka těch základních.

12.  11.  2017 | Jakub Čížek | 90

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

Elektronika, která nepotřebuje kabel ani baterii. Živí se rádiovým šumem

** Každá elektrická krabička má konektor pro napájení nebo baterii ** Jenže pozor, jednou by to tak nemuselo být ** Drobná elektronika se může živit rádiovými vlnami

14.  11.  2017 | Jakub Čížek | 15