39 lines
633 B
Plaintext
39 lines
633 B
Plaintext
class Subject {
|
|
- observers: Observer []
|
|
+ constructor();
|
|
+ subscribe(observer: Observer);
|
|
+ unsubscribeAll();
|
|
+ unsubscribe(observer);
|
|
+ notifiSubstribers();
|
|
}
|
|
|
|
class Observer {
|
|
+ {abstract} update(src: Subject);
|
|
}
|
|
|
|
|
|
class Fish extends Subject {
|
|
- species: String;
|
|
- weight: Number;
|
|
|
|
+ constructor(weight: Number);
|
|
+ getWeight(): Number;
|
|
+ getSpecies(): String;
|
|
}
|
|
|
|
class Salmon extends Fish {
|
|
+ constructor();
|
|
}
|
|
|
|
class Tuna extends Fish {
|
|
+ constructor();
|
|
}
|
|
|
|
class Fisherman extends Observer {
|
|
- name: String;
|
|
+ constructor(name: String);
|
|
+ update(src);
|
|
}
|
|
|
|
Fisherman "1" -left- "many" Fish : has
|