Skip to content

Conversation

@Rebarbora6
Copy link
Owner

Ahoj, nahrávám úkol z poslední hodiny na OOP. Moje kreativita do značné míry selhala a tak jsem vytvořila třídy členů kapely. Díky za zhodnocení 🐎

Copy link
Collaborator

@patrikcelko patrikcelko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zhrnul by som to asi tak, že to je napísané objektovo, avšak máš tam menšie nezrovnalosti s štandardom písania kódu, ktoré by som rád aby si si opravila. Avšak najviac ma zarazila metóda number_of_throwen_sticks, ktorá mi nedáva vôbec zmysel a rád by som ju videl opravenú, preto bohužiaľ approve nebude 😿.

self.name = name

def play(self):
print(f'{self.name} plays on {self.instrument}')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Čo ak self.instrument nie je definované (je rovné None)? Nebolo by to dobré nejako ošetriť? Ideálny spôsob, ako napísať takúto abstraktnú triedu (to je taká trieda, že sama o sebe sa nepoužíva na instanciovanie, ale ako nejaký spoločný rodič ďalších pod-tried - ono to má svoj význam v polymorfizme), tak sa dáva na časť, ktoré závisia od rodičov vyvolanie výnimky NotImplementedError. V skratke ak neexistuje self.instrument, tak vyhodíš výnimku NotImplementedError.

def throw_a_stick(self):
self.number_of_sticks += 1

def number_of_throwen_sticks(self):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Táto celá metóda mi nejak nedáva zmysel, okrem toho posledného výpisu na konci. V prvom kroku máš if, ktorý kontroluje, či metóda .throw_a_stick() vráti niečo, čo by sa dokázalo vyhodnotiť ako True. Avšak metóda throw_a_stick je technicky procedúra a jej návratová hodnota je vždy None. Čo je vždy False, plus ako bonus sa nám pridá jedna vyhodená palička. A nakoniec ešte pridáš ďalšie 2? To nechápem už vôbec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants