Lecture overview -- Keyboard shortcut: 'u'  Previous page: Eksempel på dyb lighed -- Keyboard shortcut: 'p'  Next page: Mønster for equals 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 25 : 27
Forelæsningsnoter i Objekt-orienteret Programmering
Objekt-orienteret programmering i Java, del 1
Lighed i Java

  • Java understøtter to former for lighed:

    • ==

      • Lighedsoperator på værdier (tal, char, boolean)

      • Reference equality på objekt referencer

      • Eksempler på udtryk med ==

        • 5 == 3

        • aPoint == anotherPoint

    • equals

      • Metode i den generelle klasse Object

      • I udgangspunktet det samme som 'reference equality'

      • Intensionen er at equals kan redefineres efter behov

      • aPoint.equals(anotherPoint)

I forbindelse med muligheden for at redefinere metoden equals: Vi så tidligere i denne lektion af klassen String har redefineret metoden equals med det formål at gøre to strenge lig med hinanden hvis de indeholder de samme tegn (i samme rækkefølge).

 

I Java er det ofte nødvendigt selv at redefinere lighedsoperatoren equals for at opnå en tilfredsstillende form for lighed på objekter

Denne observation holder iøvrigt generelt når man lave objekt-orienteret programmering, Der er mange varianter af lighed som ikke falder ind under de tre former for lighed vi har identificeret ovenfor. Det er nødvendigt - klasse for klasse - at angive hvad det vil sige, at to instanser af klassen er ens

Go to exerciseLighed mellem bankkonti