Lecture overview -- Keyboard shortcut: 'u'  Previous page: Generelt om skabelse af objekter -- Keyboard shortcut: 'p'  Next page: Skabelse af objekter i Java -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 10 : 27
Forelæsningsnoter i Objekt-orienteret Programmering
Objekt-orienteret programmering i Java, del 1
Generelt om nedlæggelse af objekter

Man skulle måske tro, at objektnedlæggelse er af mindre betydning end objektoprettelse. Men dette er ikke tilfældet. Det er ofte meget vigtigt at skaffe sig af med unyttige objekter, idet vi ellers på et eller andet tidspunkt løber tør for lager (uanset hvor mange Mbyte vi end har). Det er endvidere helt afgørende for et program, at objekter ikke nedlægges for tidligt.

Et objekt kan nedlægges på to forskellige måder:
    Eksplicit ved en programmeret sletning Implicit, når objektet ikke længere kan påvirke resten af programudførelsen

  • Eksplicit nedlæggelse: Programmet udfører en kommando, som sletter objektet

    • Man risikerer let at slette et objekt som bruges fra et andet sted

    • Hvis man forsømmer at slette ubenyttede objekter kan man helt unødigt løbe tør for lager

I forbindelse med eksplicit sletning af et objekt er faren, at vi sletter objektet 'for tidligt'. Hvis vi efter sletningen forsøger at tilgå objektet via en reference til det, opstår der en 'grim' fejl (køretidsfejl)

  • Implicit nedlæggelse: Objektet slettes automatisk af en såkaldt garbage collector.

    • Principielt slettes objektet hvis det kan bevises, at objektet ikke længere kan påvirke den fremtidige programudførelse

    • I praksis slettes objektet når det ikke længere kan nås fra en mængde af objekt-udgangspunkter

Implicit og automatisk sletning af objekter kaldes ofte for garbage collection. Når et programmeringssprog understøtter garbage collection fritages programmøren for en væsentlig byrde, idet han eller hun ikke skal bekymre sig om, hvornår 'der skal siges farvel' til objekterne