...
View file |
---|
...
src | https://docs.google.com/file/d/0B9IltfWcNirnNG9OOWFnQWppQUE/preview |
---|---|
width | 1024 |
height | 720 |
|
Eksempelkode om arv:
...
Code Block |
---|
public class InvalidNameException extends IllegalArgumentException { private Person person; private String name; public InvalidNameException(Person person, String name) { this.person = person; this.name = name; } public Person getPerson() { return person; } public String getName() { return name; } @Override public String getMessage() { return "Du prøvde å sette navnet til " + name + ", men det er ugyldig for " + person; } } public class Person { private String name; public Person(String name) { this.name = name; } @Override public String toString() { return "[Person " + name + " (" + super.toString() + ")]"; } public String getName() { return name; } private String legalCharacters = "QWERTYUIOPÅASDFGHJKLØÆZXCVBNM"; public void setName(String name) { for (int i = 0; i < name.length(); i++) { char c = Character.toUpperCase(name.charAt(i)); if (legalCharacters.indexOf(c) < 0) { throw new InvalidNameException(this, name); } } this.name = name; } @Override public boolean equals(Object obj) { if (obj instanceof Person && ((Person) obj).name.equals(this.name)) { return true; } return false; } public static void main(String[] args) { Person person1 = new Person("Hallvard"); Person person2 = new Person("Hallvard"); Collection<Person> personer = Arrays.asList(person1, person2); System.out.println(person1 == person2); System.out.println(person1.equals(person2)); System.out.println(personer.contains(new Person("Hallvard"))); person1.setName("ruy389weyfsuid"); } } |
...