advice on polymorphism
===

Im trying to teach myself enough to start using more OOP in php.  This is what Ive come up with. Is there any reason why any of this is done wrong, or should be done another way?

		class workers {
				private $name;
				
				function __construct($name){
					$this->name=$name;
				}
			
			
				function setName($name){
					$this->name=$name;	
				}
				
				function doPrint($who){
					print $who->name . ' is ' . $who->isWhat() .'<br>';
						
				}
				
		}
		
		class boss extends workers{
			
				function isWhat(){
					return 'the boss';
				}
				
		}
		
		class bee extends workers{
			
				function isWhat(){
					return 'not the boss';
				}
		}
		
		
		$theboss =new boss('gordon');	
		$thebee= new bee('johnny');
		
			workers::doPrint($theboss);
			workers::doPrint($thebee);
		
		
		
		$theboss->setName('johnny');
		$thebee->setName('gordon');
		
			workers::doPrint($theboss);
			workers::doPrint($thebee);



prints:

    gordon is the boss
    johnny is not the boss
    johnny is the boss
    gordon is not the boss