<?php /** * Trait解決PHP單繼承的一種方法,使開發人員在不一樣層次結構的類中複用屬性和方法 * Trait沒法實例化 * Trait不是類,不能被繼承,因此不能再Trait中不能聲明抽象方法 * Trait中沒法聲明常量 * ThinkPHP中Trait有應用 */ //聲明一個Trait trait Name { public function getName() { return '張三'; } } //聲明一個Trait trait Say { public function say() { return 'world'; } } //聲明一個類 class Lang { //導入Trait(導入多個Trait用,分隔) use Name,Say; public function sayPhp() { return 'php'; } } class Chinese extends Lang { public function show() { return $this->getName().'會說'.$this->say().',還會說'.$this->sayPhp(); } } $ch = new Chinese(); echo $ch->show();