1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Úvod do objektově orientovaného programování v Pythonu

Connected

Cvičení

Přetížení operátoru rovnosti

Když porovnáváš dva objekty vlastní třídy pomocí ==, Python ve výchozím nastavení porovnává pouze místa v paměti, na která objekty odkazují, nikoli data v nich uložená. Toto chování lze změnit tak, že třída implementuje speciální metodu, která přijme dva argumenty — porovnávané objekty — a vrátí True nebo False. Tato metoda se zavolá automaticky při každém porovnání dvou objektů.

V souboru script.py je k dispozici třída BankAccount z předchozí kapitoly. Má dva atributy, balance a number, a metodu withdraw(). Dva bankovní účty se stejným zůstatkem nemusí být nutně totožné, ale bankovní účet má zpravidla číslo účtu — a dva účty se stejným číslem by měly být považovány za identické.

Pokyny

100 XP
  • Uprav metodu __init__() tak, aby přijímala nový argument number, a inicializuj odpovídající atribut number.
  • Definuj metodu, která porovná, zda jsou atributy number dvou objektů stejné.