Definieer een class met de naam “DomesticCat” met de attributen ‘cat_id’ en ‘name’. Laten we stellen dat een CatID begint met de letters BE gevolgt door 11 cijfers. Ontwerp een AssertionError (keyword assert) die controleert of ‘cat_id’ begint met ‘BE’ en in totaal 13 posities lang is en indien dit niet het geval is, de boodschap ‘incorrect ID’ meegeeft. Gebruik de __repr__ methode om een object van deze class te printen als “CatId: <cat_id>, naam: <name>”.
Definieer een subclass of child class van de class “DomesticCat” met de naam “PurebredCat”. Maak gebruik van de super() methode om de attributen uit de superclass over te nemen en maak een extra attibuut aan met de naam ‘breed’ (ras van de kat). Gebruik de __repr__ methode om een object van de class “PurebredCat” te printen als “CatId: <cat_id>, naam: <name>, ras: <breed>”.
Test de 2 classes zoals in onderstaand voorbeeld. Deze test-code moet je niet indienen in Dodona.
>>> cat1 = DomesticCat('BE23441232225', 'Felix')
>>> print(cat1)
CatId: BE23441232225, naam: Felix
>>> cat2 = PurebredCat('BE93297334295', 'Muchi', 'British Longhair')
>>> print(cat2)
CatId: BE93297334295, naam: Muchi, ras: British Longhair
>>> cat3 = PurebredCat('BE3322731223', 'Sooki', 'British Shorthair')
Traceback (most recent call last):
AssertionError: incorect ID