<?php
abstract class Employee
{
public $rank;
public $isBoss;
abstract function getSalary($rank);
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($rank)
{
if($rank == 1){
return 500;
} elseif($rank == 2){
return 500 * 1.25;
} elseif ($rank == 3){
return 500 * 1.5;
}
}
public function getCoffeDrunk(){}
}
class Marketer extends Employee
{
public function getSalary($rank)
{
if($rank == 1){
return 400;
} elseif($rank == 2){
return 400*1.25;
} elseif($rank == 3){
return 400*1.5;
}
}
public function getCoffeDrunk(){}
}
class Engineer extends Employee
{
public function getSalary($rank)
{
if($rank == 1){
return 200;
} elseif ($rank == 2){
return 200*1.25;
} elseif ($rank = 3) {
return 200*1.5;
}
}
public function getCoffeDrunk(){}
}
class Analyst extends Employee
{
public function getSalary($rank)
{
if($rank == 1){
return 800;
} elseif ($rank == 2){
return 800*1.25;
} elseif ($rank == 3) {
return 800*1.5;
}
}
public function getCoffeDrunk(){}
}
PD9waHAKCmFic3RyYWN0IGNsYXNzIEVtcGxveWVlCnsJCglwdWJsaWMgJHJhbms7CglwdWJsaWMgJGlzQm9zczsKIAoJYWJzdHJhY3QgZnVuY3Rpb24gZ2V0U2FsYXJ5KCRyYW5rKTsKCWFic3RyYWN0IGZ1bmN0aW9uIGdldENvZmZlRHJ1bmsoKTsKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcmFuaywgJGlzQm9zcykKCXsKCQkkdGhpcy0+cmFuayA9ICRyYW5rOwoJCSR0aGlzLT5pc0Jvc3MgPSAkaXNCb3NzOwoJfQp9CiAKIApjbGFzcyBEZXBhcnRtZW50CnsJCglwcml2YXRlICR3b3JrZXJzID0gYXJyYXkoKTsgCglwdWJsaWMgZnVuY3Rpb24gZ2V0VG90YWxQYWlkKCl7fQoJcHVibGljIGZ1bmN0aW9uIHRvdGFsQ29mZWVEcnVuaygpe30KCXB1YmxpYyBmdW5jdGlvbiBhZGRXb3JrZXIoJGRlcGFydGFtZW50LCAkcmFuaywkaXNCb3NzKQoJewoJCSR0aGlzLT53b3JrZXJzW10gPSBhcnJheSgkZGVwYXJ0YW1lbnQsICRyYW5rLCAkaXNCb3NzKTsJCQoJfQp9CiAKIAogCmNsYXNzIE1hbmFnZXIgZXh0ZW5kcyBFbXBsb3llZQp7CgkgcHVibGljIGZ1bmN0aW9uIGdldFNhbGFyeSgkcmFuaykKCSB7CgkJIGlmKCRyYW5rID09IDEpewoJCQkgcmV0dXJuIDUwMDsKCQkgfSBlbHNlaWYoJHJhbmsgPT0gMil7CgkJCSByZXR1cm4gNTAwICogMS4yNTsKCQkgfSBlbHNlaWYgKCRyYW5rID09IDMpewoJCQkgcmV0dXJuIDUwMCAqIDEuNTsKCQkgfQoJIH0KCSBwdWJsaWMgZnVuY3Rpb24gZ2V0Q29mZmVEcnVuaygpe30KfQogCiAKY2xhc3MgTWFya2V0ZXIgZXh0ZW5kcyBFbXBsb3llZQp7CglwdWJsaWMgZnVuY3Rpb24gZ2V0U2FsYXJ5KCRyYW5rKQoJewoJCWlmKCRyYW5rID09IDEpewoJCQlyZXR1cm4gNDAwOwoJCX0gZWxzZWlmKCRyYW5rID09IDIpewoJCQlyZXR1cm4gNDAwKjEuMjU7CgkJfSBlbHNlaWYoJHJhbmsgPT0gMyl7CgkJCXJldHVybiA0MDAqMS41OwoJCX0KCX0KCXB1YmxpYyBmdW5jdGlvbiBnZXRDb2ZmZURydW5rKCl7fQp9CiAKIApjbGFzcyBFbmdpbmVlciBleHRlbmRzIEVtcGxveWVlCnsKCXB1YmxpYyBmdW5jdGlvbiBnZXRTYWxhcnkoJHJhbmspCgl7CgkJaWYoJHJhbmsgPT0gMSl7CgkJCXJldHVybiAyMDA7CgkJfSBlbHNlaWYgKCRyYW5rID09IDIpewoJCQlyZXR1cm4gMjAwKjEuMjU7CgkJfSBlbHNlaWYgKCRyYW5rID0gMykgewoJCQlyZXR1cm4gMjAwKjEuNTsKCQl9Cgl9CglwdWJsaWMgZnVuY3Rpb24gZ2V0Q29mZmVEcnVuaygpe30KfQogCiAKY2xhc3MgQW5hbHlzdCBleHRlbmRzIEVtcGxveWVlCnsKCXB1YmxpYyBmdW5jdGlvbiBnZXRTYWxhcnkoJHJhbmspCgl7CgkJaWYoJHJhbmsgPT0gMSl7CgkJCXJldHVybiA4MDA7CgkJfSBlbHNlaWYgKCRyYW5rID09IDIpewoJCQlyZXR1cm4gODAwKjEuMjU7CgkJfSBlbHNlaWYgKCRyYW5rID09IDMpIHsKCQkJcmV0dXJuIDgwMCoxLjU7CgkJfQoJfQoJcHVibGljIGZ1bmN0aW9uIGdldENvZmZlRHJ1bmsoKXt9Cn0=