Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Code Block
languagejava
titlePublic modifier
linenumberstrue
package constructions;

public class Room {
	
	int size;
	String color;
	
	public Room(int size, String color) {
		this.size = size;
		this.color = color;
	}

	int getSize() { 
		// Dette er en getter
		return this.size;
	}
	
	public String setColor(String color) {
		this.color = color;
	}
}

 

 

Code Block
languagejava
titlePublic modifier
linenumberstrue
package workerspainter;

public class RoomPainter {
 
	private String paintcolor;
	private Room room;	
 
	// Settere
	public void setPaintcolor(String color) {
		this.paintcolor = color;
	}
	public void setRoom(Room room) {
		this.room = room;
	}
	
	// "Arbeidsmetode"
	public void paintRoompaint() {
		this.room.color = this.paintcolor; // UGYLDIG KODE!!
		// Siden Roompainter og Room IKKE er i samme package,
		// må Room-feltet color være public for at linjen over
		// skal være gyldig. Skriver i stedet:

		this.room.setColor(this.paintcolor);
		// Her sender vi heller paintcolor til ensetteren metodefor vi
		// color, som vi kan bruke, fordi den er public
	}	
} 

 

...

Dersom man deklarerer et felt, en metode etc. som protected, er det mulig å hente/forandre/kalle på den dersom kallet kommer fra samme package eller fra en subklasse av klassen hvor ressursen er definert.
 

 

Code Block
languagejava
titleProtected modifier
linenumberstrue
 

 

 

Code Block
languagejava
titleProtected modifier
linenumberstrue
 

 

 


Synlighet ved arv

Det finnes i java et sett med regler for synlighet ved arv

...