Forelæsningsnoter i Objekt-orienteret Programmering Objekt-orienteret programmering i Java, del 2
Objekt-interaktion
Objekter interagerer som bekendt med hinanden ved at sende beskeder. Vi vil her se på et
scenario som illustrerer, hvordan objekt-interaktion kan udvikle sig mellem 'et netværk' af objekter.
Vi fokuserer både på objekterne under udførelsen, og på de bagved liggende klasser i programbeskrivelsen
Objekter interagerer med hinanden ved at sende beskeder
En besked til et objekt forårsager aktivering af en metode i objektets klasse
Et scenarie hvor et kundeobjekt indsætter 500 kroner i banken.
Det er ofte vanskeligt at afgøre i hvilket objekt man skal placere en given funktionalitet
Skal beskeden gemKonto sendes til enKontoSamling med enKonto som parameter eller Skal beskeden gemKonto sendes til enKonto med enKontoSamling som parameter
Vi stødte på denne problemstilling i scenariet ovenfor. Her valgte vi at lade kontosamlingen være
ansvarlig for fremskaffelse og lagring af konti. Alternativt kunne vi flytte ansvaret for lagring
af en konto til Kontoklasse. I dette tilfælde er det naturligt at 'find' og 'gem' er metoder i samme klasse
Placering af funktionalitet på klasser beror på den valgte ansvarsfordeling mellem klasserne
Dette er et emne som tages op i designfasen af udviklingsprocessen
Vi henviser til hosstående reference for en yderligere diskussion af ansvarsfordeling