class Edy { public function payEdy() { echo 'sharyyyyyyyyyyyyyyn' . '<BR />'; } } // 継承 // 利用したいクラスのサブクラスを作成してインターフェースを実装する class Wallet extends Waon implements CashPayment { public function payWhatEver() { $this->payWaon() . '<br />'; } } // 移譲 // 利用したいクラスのインスタンスを生成し、そのインスタンスを他クラスから利用することで実現される。 class Wallet2 extends Edy implements CashPayment { public $edy; public function payWhatEver() { $this->edy = new Edy(); $this->edy->payEdy() . '<br />'; } } $waon = new Wallet(); $waon->payWhatEver(); $edy = new Wallet2(); $edy->payWhatEver();