01.08.2013 Views

Datorstödd inlärning av grammatik och språkteori - Stp

Datorstödd inlärning av grammatik och språkteori - Stp

Datorstödd inlärning av grammatik och språkteori - Stp

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

underordnad klass till B kommer C:s ärvda metod M vara den som<br />

definieras i B (om inte C i sin tur gör överskrivning).<br />

Jag har tidigare nämnt att ett objekts metoder endast opererar på<br />

objektets egna data. Det är möjligt <strong>och</strong> vanligt att ett attribut hos ett<br />

objekt är en referens eller en pekare till ett annat objekt. Om objektet A<br />

har ett attribut som refererar till objektet B är det möjligt att en metod<br />

hos A, via sin referens till B, kan manipulera attribut i B. A:s metod kan<br />

alltså indirekt manipulera attribut i B trots att A:s metod bara får<br />

'operera på egna data'. Detta strider mot andemeningen i att 'metoder<br />

endast opererar på egna data'. Man kan undvika detta genom att i stället<br />

låta A:s metod, via referensen till B, anropa en metod i B 2 så att B<br />

manipulerar sina egna attribut. Man vill m.a.o. att varje objekts metoder<br />

bara skall operera på objektets egna data. Detta kallas för inkapsling.<br />

Fördelarna med detta är många. Till exempel behöver A inte känna till<br />

hur B:s data är organiserade <strong>och</strong> hur B:s metoder fungerar. Det enda A<br />

behöver veta är vilka metoder B har <strong>och</strong> vad resultatet <strong>av</strong> dessa metoder<br />

är. Systemet blir därigenom modulärt. En slogan skulle kunna vara 'Sköt<br />

du ditt så sköter jag mitt'.<br />

Sammanfattningsvis följer en definition för objektorienterad<br />

programmering <strong>av</strong> Grady Bo<strong>och</strong>:<br />

‘Object-oriented programming is a method of implementations in<br />

which programs are organized as cooperative collections of objects,<br />

each of which represents an instance of some class, and whose classes<br />

are all members of a hierarchy of classes united via inheritance<br />

relationships.’ (Bo<strong>och</strong>, 1994)<br />

2.1.2 Ett exempel<br />

För att förklara ovan nämnda begrepp lite närmare i en grammatisk<br />

kontext skall jag belysa dem med ett förenklat exempel. I grammatiska<br />

sammanhang är det som svarar mot metoder snarare klassens syntaktiska<br />

<strong>och</strong> semantiska 'funktion'.<br />

Verb<br />

attribut:<br />

tempus<br />

…<br />

funktion:<br />

[subjekt,_]<br />

…<br />

2 'A skickar ett meddelande till B' skulle en objektorienterad programmerare säga.<br />

4

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

Saved successfully!

Ooh no, something went wrong!