<?php include_once '../../class/pattern/bridge.php'; $androidPlatform = new AndroidPlatform(); $iosPlatform = new IOSPlatform(); $angryBirdNormalAndroid = new AngryBirdNormal($androidPlatform); $angryBirdNormalAndroid->play(); $angryBirdSpaceIOS = new AngryBirdSpace($iosPlatform); $angryBirdSpaceIOS->play(); ?> <?php /* $androidAngryBirdNormal = new AndroidAngryBirdNormal(); echo $androidAngryBirdNormal->play(); echo '<br/>'; $iosAngryBirdSpace = new iosAngryBirdSpace(); echo $iosAngryBirdSpace->play(); */
} // refined abstraction class AngryBirdNormal extends AngryBird { public function play() { echo "AngryBirdNormal, Platform is " . $this->platform->control() . "\n"; } } // refined abstraction class AngryBirdSpace extends AngryBird { public function play() { echo "AngryBirdSpace, Platform is " . $this->platform->control() . "\n"; } } // refined abstraction class AngryBirdRio extends AngryBird { public function play() { echo "AngryBirdRio, Platform is " . $this->platform->control() . "\n"; } } $iosPlatform = new IOSPlatform(); $abs = new AngryBirdSpace($iosPlatform); $abs->play(); $androidPlatform = new AndroidPlatform(); $abr = new AngryBirdRio($androidPlatform); $abr->play();