<?php
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();