<?php
error_reporting(-1);
abstract class Employee
{	
	public $rank;
	public $isBoss;
 
	abstract function getSalary();
	abstract function getCoffeDrunk();
	public function __construct($rank, $isBoss)
	{
		$this->rank = $rank;
		$this->isBoss = $isBoss;
	}
}
 
 
class Department
{	
	private $workers = array(); 
	public function getTotalPaid(){}
	public function totalCofeeDrunk(){}
	public function addWorker($departament, $rank,$isBoss)
	{
		$this->workers[] = array($departament, $rank, $isBoss);		
	}
}
 
 
 
class Manager extends Employee
{
	 public function getSalary()
	 {		
		 // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
		 if($this->isBoss == 0){
			 $this->isBoss = 1;
		 } elseif ($this->isBoss == 1){
			 $this->isBoss = 1.5;
		 }
		 
		 if($this->rank == 1){
			 return 500 * $this->isBoss;
		 } elseif($this->rank == 2){
			 return 500 * 1.25 * $this->isBoss;
		 } elseif ($this->rank == 3){
			 return 500 * 1.5 * $this->isBoss;
		 }
	 }
	 public function getCoffeDrunk(){}
}
 
 
class Marketer extends Employee
{
	public function getSalary()
	{
		 // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
		 if($this->isBoss == 0){
			 $this->isBoss = 1;
		 } elseif ($this->isBoss == 1){
			 $this->isBoss = 1.5;
		 }
		
		if($this->rank == 1){
			return 400 * $this->isBoss;
		} elseif($this->rank == 2){
			return 400 * 1.25 * $this->isBoss;
		} elseif($this->rank == 3){
			return 400 * 1.5 * $this->isBoss;
		}
	}
	public function getCoffeDrunk(){}
}
 
 
class Engineer extends Employee
{
	public function getSalary()
	{
		 // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
		 if($this->isBoss == 0){
			 $this->isBoss = 1;
		 } elseif ($this->isBoss == 1){
			 $this->isBoss = 1.5;
		 }
		 
		if($this->rank == 1){
			return 200 * $this->isBoss;
		} elseif ($this->rank == 2){
			return 200 * 1.25 * $this->isBoss;
		} elseif ($this->rank = 3) {
			return 200 * 1.5 * $this->isBoss;
		}
	}
	public function getCoffeDrunk(){}
}
 
 
class Analyst extends Employee
{
	public function getSalary()
	{
		 // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
		 if($this->isBoss == 0){
			 $this->isBoss = 1;
		 } elseif ($this->isBoss == 1){
			 $this->isBoss = 1.5;
		 }
		
		if($this->rank == 1){
			return 800 * $this->isBoss;
		} elseif ($this->rank == 2){
			return 800 * 1.25 * $this->isBoss;
		} elseif ($this->rank == 3) {
			return 800 * 1.5 * $this->isBoss;
		}
	}
	public function getCoffeDrunk(){}
}


$vasya = new Analyst(1,0);
echo $vasya->getSalary()."\n";
echo $vasya->getSalary()."\n";
echo $vasya->getSalary()."\n";