Ah, ist da gewoon en da dan uitleggen ofwa
Als da zo zit is elke vraag over ADT van den Arickx eigelijk hetzelfde. ge moet gewoon ff oo abstractie uitlegge en dan het herdefinieren van methodes mbv type extensie en polymorfisme :/
Moderator: Praesidium
Ik vermoed dat je een beetje de syntax moet bespreken. bbeetje vage vraag. Ik zou de dingen uitleggen die je ervoor nodig hebt: pointers, records, receiver parameters, en inderdaad ook de extensies.Phil wrote:Nog ff snel een vraagje waar ik niet direct kan opkomen:
Bespreek de syntactische elementen die noodzakelijk (en voorhanden!) zijn voor object-georienteerd programmeren in Oberon. Bespreek in het bijzonder de eigenschappen van de receiver paramter (o.a. de typering ervan).
Die eigenschappen van de receiver parameter wist/weet ik wel direct, maar wa bedoelen ze juist met de syntactische elementen?
Ik denk het wel. De bewerkingen op de data hangen nu echt 'vast' aan de data. Daarvoor moest je, om een bewerking op de data uit te voeren, een procedure oproepen en daaraan de data als parameter meegeven. Dit gaat nu in 1 keer door ptr^.procedure.Jerre wrote:Dat vroeg ik me ook al af, ik dacht misschien aan dat als je het in een procedure declareert het enkel geldt binnen die procedure, en dus minder geheugen ofzo zou innemen, en dus minder belastend voor het systeem, maar denk niet dat het dat is
Ik heb wel nog wat andere vraagjes:
Leg uit hoe objectoriëntatie de abstractiemogelijkheden in Oberon optimaliseert, en dit bv. in contrast met de klassieke procedurele of data abstractie.
=> bedoelen ze hierbij dat bij OO men meer datagericht gaat werken en dat er dus meer verborgen moet worden?
Idd de uitvoringsbesluiten. Zoals daar zijn: de identifier moet in het begin en op het iend dezelfde zijn, de compatibiliteitseigenschappen moeten voldaan zijn, de zichtbaarheidsregels moeten vervuld zijn etc. Ook krijgen de gereserveerde woorden een seamntische betekenis.Horen er, naast de EBNF-syntax regels, ook nog semantische regels (dus niet vervat in de EBNF-syntax) waarop de compiler fouten kan genereren? Zo ja, geef een zo volledig mogelijk overzicht van deze elementen, enkel voor de declaratie van een procedure.
=> hiermee worden wellicht de uitvoeringsbesluiten bedoelt, maar welke zijn die voor de declaratie van een procedure?
gereserveerd/gepredefinieerd en gebruikersgedefinieerdOberon heeft een gevarieerde woordenschat. Geef de syntax voor een "woord" op, en bespreek
alle mogelijke semantisch verschillende betekenissen ervan. Geef duidelijk weer waar
de semantiek van elk soort wordt vastgelegd, en welke instantie "verantwoordelijk" is voor
de betekenis; hoe lang geldt voor elke soort de levensduur?
=> bedoelen ze hier woorden zoals gepredefinieerd etc of variabelen of ...
npthnx alvast
Dankuwel , nu bij die woorden ik bedoelde met variabelen etc eigenlijk (aangezien in de opgave de levensduur gevraagd wordt) dus variabelen die enkel leven zolang de procedure waarin ze gedeclareerd zijn geldt. Vandaar dat ik twijfel tussen die gereserveerde woorden etc en variabelen/constanten/...Jerre wrote:gereserveerd/gepredefinieerd en gebruikersgedefinieerdOberon heeft een gevarieerde woordenschat. Geef de syntax voor een "woord" op, en bespreek
alle mogelijke semantisch verschillende betekenissen ervan. Geef duidelijk weer waar
de semantiek van elk soort wordt vastgelegd, en welke instantie "verantwoordelijk" is voor
de betekenis; hoe lang geldt voor elke soort de levensduur?
=> bedoelen ze hier woorden zoals gepredefinieerd etc of variabelen of ...
Variabelen zijn uiteindelijk gebruikersgedefinieerde woorden.
npthnx alvast
Ik zit met dezelfde vraag in de knoei, de enige stukjes info die (misschien) hiermee te maken hebben die ik gevonden heb :Teun wrote:Een vraag waar ik niet uitkom:
Geef een duidelijke aanwijzing voor het al dan niet correct zijn van de volgende uitspraak:
"Het is aangewezen de creatie van nieuwe objecten via NEW te doen binnen de module/procedure waar de declaratie van het object voorkomt"
Euhm, volges mij vraagt'm ni of da ge da moet doen of ni, want ge moet da sowieso doen (anders krijgt ge zo van die genante trap-vieuwers enz...) maar hij vraagt eerder of da ge da in de module moet doen waar het type enz gedeclareerd is of de module waarin we het object gaan gebruiken.Jay Jay wrote: - Verantwoordelijkheid van geheugenvooriening ligt in handen van programmeur en vereist dus discipline:
het zou dus aangewezen (maar zeker niet verplicht) zijn om de creatie van nieuwe objecten via NEW te doen binnen de module/procedure waar de declaratie van het object voorkomt, zodat je die NEW niet vergeet, omdat er anders 'rare dingen' kunnen gebeuren. (zie Slide 208, en cursus p.147 bovenaan).
(lijkt mij wel een vraag voor Arickx, aangezien het antwoord het woord 'discipline' bevat
- Anderzijds is het zo dat gealloceerde geheugenplaatsen gereserveerd blijven totdat Garbage Collector ze terug opruimt, en dit dus een beetje verspilling is, dus best zo min mogelijk NEW gebruiken.
Users browsing this forum: No registered users and 4 guests