FacebookUitgebreid Deel2
Deel 2: Klasse FacebookException
- Definieer de klasse FacebookException als subklasse van de abstracte klasse Exception.
- Definieer een constructor met als parameter een Account object. De constructor gebruikt het meegegeven Account object om een boodschap te definieren die meegegeven zal worden aan de constructor van de superklasse. Deze boodschap heeft de volgende vorm:
Er bestaat al een account met login '[de login van het Account object]'!
. De placeholder zal vervangen worden door de login van het meegegeven Account object.
- Definieer een constructor met als parameter een Integer object. De constructor gebruikt de meegegeven Integer om een boodschap te definieren die meegegeven zal worden aan de constructor van de superklasse. Deze boodschap heeft de volgende vorm:
De post met postID '[de Integer]' bestaat niet!
. De placeholder zal vervangen worden door de meegegeven Integer.
- Definieer een constructor met als parameter een Post object. De constructor gebruikt het meegegeven Post object om een boodschap te definieren die meegegeven zal worden aan de constructor van de superklasse. Deze boodschap heeft de volgende vorm:
De post met postID '[de postID van het Post object]' kan niet toegevoegd worden!
. De placeholder zal vervangen worden door de postID van het meegegeven Post object.
- Definieer een constructor met als parameter een String object. De constructor gebruikt de meegegeven String om een boodschap te definieren die meegegeven zal worden aan de constructor van de superklasse. Deze boodschap heeft de volgende vorm:
De account met login '[de String]' bestaat niet!
. De placeholder zal vervangen worden door de meegegeven String.
- Definieer een constructor met als parameter een File object. De constructor gebruikt het meegegeven bestand om een boodschap te definieren die meegegeven zal worden aan de constructor van de superklasse. Deze boodschap heeft de volgende vorm:
Het bestand '[de naam van het File object]' is corrupt!
. De placeholder zal vervangen worden door de naam van het meegegeven bestand.
Hierbij nog wat uitleg over de Dodona-testen voor deze oefening:
- test00objectConcept: test of de ingediende klasse de verwachte de klasse definitie heeft (interface/abstracte klasse/klasse/enum/…).
- test01inheritance: test of de ingediende klasse de verwachte superklasse heeft en de verwachte interfaces implementeert.
- test02variables_presence: test of de ingediende klasse de verwachte instantievariabelen en statische variabelen definieert.
- test03variables_staticInitialValue: test of de statische variabelen van de klasse geinitialiseerd worden met de verwachte waarde (indien van toepassing).
- test04constructorsPresence: test of de ingediende klasse de verwachte constructor(en) definieert (= test geen effect!) (indien van toepassing).
- test05constructor_Account: test de constructor met een Account als parameter.
- test06constructor_Integer: test de constructor met een Integer als parameter.
- test07constructor_Post: test de constructor met een Post als parameter.
- test08constructor_String: test de constructor met een String als parameter.
- test09constructor_File: test de constructor met een File als parameter.
- test10methodsPresent: test of de verwachte methodes aanwezig zijn in de ingediende klasse en of de methode definities overeenkomen met de verwachte definities (= test geen effect!).
- test11accessorsMutators: test of de ingediende klasse de al dan niet verwachte accessor- en mutatormethodes definieert en of deze het verwachte effect hebben.