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
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