Geeft dit een compile error?

Moderators: jkien, Xilvo

Reageer
Berichten: 4

Geeft dit een compile error?

9. Geef aan of er compiler errors zijn te verwachten bij de volgende code (voor elke regel is het regelnummer vermeld). Zoja, bij welke regels en omschrijf in eigen woorden de inhoud van de melding.

(1) Deelnemer dl1 = new Haas(“Hannie”,30);

(2) Deelnemer dl2 = new Slak(“Sjoerd”, 5);

(3) Slak slk1 = new Deelnemer(“Dunja”);

(4) Deelnemer dl3 = new Deelnemer(“Dick”);

(5) slk1 = dl1;

(6) dl1 = dl2;

(Dit is van een oefentoets)

Ik dacht dat het wel een compile error geeft op regel 6, aangezien je geen dl1 = dl2 kunt aangeven.

Wat is jullie visie?

Gebruikersavatar
Berichten: 6.905

Re: Geeft dit een compile error?

Je zou op zijn minst even de programmeertaal mogen vermelden. Is dit Java, C#, ... ?

Regel 6 lijkt mij trouwens perfect mogelijk. Ik denk dat er een andere regel fout gaat ;)
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Berichten: 2

Re: Geeft dit een compile error?

De fout zit in regel 3 (probeer het uit!).

Ik gok dat dit eerste jaars Java is.

Dit zal wel een overervingsrelatie zijn met Slak en Haas erven van Deelnemer.

Een haas en een Slak is een Deelnemer maar een Deelnemer hoeft geen Slak te zijn.

Gebruikersavatar
Berichten: 7.390

Re: Geeft dit een compile error?

Haas en Slak zijn objecten die ook Deelnemer zijn. (Haas en Slak kunnen dus erven van Deelnemer). Dat betekent dat Haas en Slak enkele gemeenschappelijke zaken hebben, die kenmerkend zijn voor Deelnemer.

Deelnemer is dus de parent class (base class, super class) en Haas en Slak zijn subclasses. Wat je dus op regel 3 doet, is dus niet mogelijk. Bekijk het zo: het rechterlid is een Deelnemer en dus mogelijk ook een Haas (of om het even welke subclass van Deelnemer). Nu kan je geen nieuwe Slak aanmaken met de kenmerken van een Haas (of om het even welke andere subclass) ;)
"C++ : Where friends have access to your private members." Gavin Russell Baker.

Berichten: 7.068

Re: Geeft dit een compile error?

Waarom probeer je dit niet gewoon in een compiler?

Gebruikersavatar
Berichten: 6.905

Re: Geeft dit een compile error?

Waarom probeer je dit niet gewoon in een compiler?
Zulke vragen zijn meestal multiple choice (op papier uiteraard) dus het klakkeloos overnemen van compiler uitvoer lijkt mij niet echt verruimend voor de student. Even nadenken of uitzoeken en het onthoudt daarna veel gemakkelijker.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Berichten: 7.068

Re: Geeft dit een compile error?

Zulke vragen zijn meestal multiple choice (op papier uiteraard) dus het klakkeloos overnemen van compiler uitvoer lijkt mij niet echt verruimend voor de student.
Dat lijkt mij ook niet. Zelf uitzoeken welk antwoord klopt door het in te voeren in een compiler en dan te bedenken waarom de compiler hier moeilijk over doet is dat echter wel. Veel meer dan deze stap overslaan en de vraag door anderen te laten beantwoorden op een forum...

Reageer