22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

36 HOOFDSTUK 3. METHODOLOGIE<br />

Listing 23 Sjabloon voor OCL @pre expressie<br />

void operation(int attribute2){<br />

int old_attr = this.getAttribute();<br />

// ...<br />

// <br />

// ...<br />

assert checkPostP1Operation(old_attr,attribute2);<br />

}<br />

public boolean checkPostP1Operation(int old_attr, int i){<br />

return this.getAttribute() == old_attr + i;<br />

}<br />

Indien we tijdelijke objecten willen bijhouden gebruiken we dan een kopie-constructor. Kopieconstructors<br />

moeten dan in de klasse waarin de betrokken operatie behoort gedenieerd worden.<br />

Vervolgens mogen we de sjabloon van daarvoor toepassen. De JAVA code tonen we<br />

hieronder:<br />

Listing 24 @pre object<br />

void operation(Object object2){<br />

Object old_obj = new Object(obj);<br />

// ...<br />

// <br />

// ...<br />

assert checkPostP1Operation(old_obj,object2);<br />

}<br />

public boolean checkPostP1Operation(Object old_obj, Object object2){<br />

return this.getObject().getProperty() ==<br />

old_obj.getProperty() + object2.getProperty();<br />

}<br />

3.2.8.2 Het sleutelwoord result<br />

Het sleutelwoord result geeft de terugwaarde van een operatie terug indien er een is. Bijgevolg<br />

is het type van result bepaald door het terugtype van de operatie. Dit sleutelwoord wordt<br />

gebruikt bij postcondities van operaties.<br />

Listing 25 Een voorbeeld van het OCL result sleutelwoord<br />

context Class :: operation(attribute2 : Integer):Integer<br />

post p2: result = attribute2*1000<br />

De resulterende JAVA code is:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!