Versions Compared

Key

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

...

Vi bruker her konvensjonene til Java, som sier at metoden må hete set<attributtnavn med stor forbokstav>, at den må skal returnere ikke returnerer noen verdi (void) og må ta inn ett parameter av samme type som attributtet. Dersom koden er som over, er vi sikret at length aldri kan bli negativ. En annen variant er å utløse et unntak, som følger:

...

Code Block
languagejava
titleDato-objekt med kompleks setter-metode
int day, month, year;

boolean isValidDate(int day, int month, int year) {
	... check validity ...
}

void setDate(int day, int month, int year) {
	// check new day, month and year
	if (! isValidDate(day, month, year)) {
		throw new IllegalArgumentExceptionIllegalStateException(... appropriate message ...);
	}
	this.day = day;
	this.month = month;
	this.year = year;
}

...

Code Block
// provide valid default values, e.g. start time for Unix, must be valid
int day = 1, month = 1, year = 1971

// or a constructor
public Date(int day, int month, int year) {
	// check new day, month and year
	if (! isValidDate(day, month, year)) {
		throw new IllegalArgumentExceptionIllegalStateException(... appropriate message ...);
	}
	this.day = day;
	this.month = month;
	this.year = year;
}

...