Maak een klasse Book
en gebruik auto-properties voor de velden:
Maak voorts een full property voor Price (double)
Maak een child-klasse die van Book overerft genaamd ‘TextBook. Een textbook heeft één extra property:
Maak een child-klasse die van Book overerft genaamd ‘CoffeeTableBook’. Deze klasse heeft geen extra velden.
Voorts kunnen boeken “opgeteld” worden om als omnibus uitgebracht te worden. De titel wordt dan “Omnibus van [X]”. waarbij X de Authors bevat, gescheiden met een komma. De prijs van een Omnibus is steeds de som van beide boeken gedeeld door 2. Schrijf een static
methode TelOp
die twee Book
objecten als parameter aanvaardt en als returntype een nieuw Book
teruggeeft.
In beide child-klassen, override de Price-setter zodat: a) Bij Textbook de prijs enkel tussen 20 en 80 kan liggen b) Bij CoffeeTableBooks de prijs enkel tussen 35 en 100 kan liggen
Toon de werking aan van je 3 klassen: Maak boeken aan van de 3 klassen, toon dat de prijs niet altijd zomaar ingesteld kan worden en (PRO) toon aan dat je Equals –methode werkt (ook wanneer je bijvoorbeeld een Book en TextBook wil vergelijken).