subject = $subject; $this->subject->attach($this); } public function detach() { if ($this->subject !== NULL) { $this->subject->detach($this); } } public abstract function update(); } ?>