Inheritance - Exercise, 05. Restaurant
Здравейте колеги.
Много ще съм благодарен ако някой ми погледне въпросната задача и ми каже защо гърми на три теста?
https://judge.softuni.bg/Contests/1500/Inheritance-Exercise
Много благодаря за съдействитето!
Здравейте колеги.
Много ще съм благодарен ако някой ми погледне въпросната задача и ми каже защо гърми на три теста?
https://judge.softuni.bg/Contests/1500/Inheritance-Exercise
Много благодаря за съдействитето!
Здрасти, идеята е да се предават параметрите от конструктора на базовия клас на наследниците. И само ако има параметър който се добавя, той да бъде предаван на текущия клас и от там надолу по йерархията. Другата уловка е в параметрите които са дадени като константи. Ако имаш 2 от четири пропъртита които са константи, то само останалите две трябва да се вземат от конструктора на класа, а ако базовия клас иска повече параметри, то излишните да останат нули.
https://github.com/DeyanParushev/MyStudentProjects/tree/master/OOP/Inheritance/Excercise/Restaurant
На мен при овъррайдването на методите пак ми гърмят два теста. След това реших да изпозлвам само константите в конструктора и се получи. Ето и пример от класа Coffee:
(при другите класове е по същия начин)
Някой може ли да ми помогне... къде бъркам......?
kalojan,
имаш грешка при енкапсулацията на класовете. Оправи си Access Modifiers. Някои от наследяващите класове са с по-ниско ниво на достъп от базовите. Например модификатора ти на класа 'Starter' е с по-ниско ниво на от това на наследяващия го клас 'Soup'. По същия начин е и при останалите класове.
П.С.
Джъджа ти показва къде е грешката, прочети какво точно пише в ерора.
Успех в ученето и решаването на задачи! :))
djambazki, Благодаря за насоката с константите. При мен също гърмяха въпросните 3 теста и минаха 1 по 1 с промяната на всеки клас, в който имаше информация за дефоутни стойности.
И все пак за мен условието е подвеждащо. Особено за Cake и Fish класовете. При тях тези стойности са вписани като дефоутни, което поне за мен значи, че се подават в конструктора, за да се използват, ако при инициализация на инстанцията не подадем стойности за съответните параметри. С използване на константи, реално не можем да подадем друга цена, грамаж или калории към съответните инстанции, което поне за мен е нелогично.
Единствено за Coffee класа може да се предположи, че стойностите ще са константа, което мога да си приема за грешка, но за останалите два класа условието е много подвеждащо.