fork(1) download
  1. <?php
  2. abstract class Employee
  3. {
  4. public $rank;
  5. public $isBoss;
  6.  
  7. abstract function getSalary();
  8. abstract function getCoffeDrunk();
  9. public function __construct($rank, $isBoss)
  10. {
  11. $this->rank = $rank;
  12. $this->isBoss = $isBoss;
  13. }
  14. }
  15.  
  16.  
  17. class Department
  18. {
  19. private $workers = array();
  20. public function getTotalPaid(){}
  21. public function totalCofeeDrunk(){}
  22. public function addWorker($departament, $rank,$isBoss)
  23. {
  24. $this->workers[] = array($departament, $rank, $isBoss);
  25. }
  26. }
  27.  
  28.  
  29.  
  30. class Manager extends Employee
  31. {
  32. public function getSalary()
  33. {
  34. // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
  35. if($this->isBoss == 0){
  36. $this->isBoss = 1;
  37. } elseif ($this->isBoss == 1){
  38. $this->isBoss = 1.5;
  39. }
  40.  
  41. if($this->rank == 1){
  42. return 500 * $this->isBoss;
  43. } elseif($this->rank == 2){
  44. return 500 * 1.25 * $this->isBoss;
  45. } elseif ($this->rank == 3){
  46. return 500 * 1.5 * $this->isBoss;
  47. }
  48. }
  49. public function getCoffeDrunk(){}
  50. }
  51.  
  52.  
  53. class Marketer extends Employee
  54. {
  55. public function getSalary()
  56. {
  57. // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
  58. if($this->isBoss == 0){
  59. $this->isBoss = 1;
  60. } elseif ($this->isBoss == 1){
  61. $this->isBoss = 1.5;
  62. }
  63.  
  64. if($this->rank == 1){
  65. return 400 * $this->isBoss;
  66. } elseif($this->rank == 2){
  67. return 400 * 1.25 * $this->isBoss;
  68. } elseif($this->rank == 3){
  69. return 400 * 1.5 * $this->isBoss;
  70. }
  71. }
  72. public function getCoffeDrunk(){}
  73. }
  74.  
  75.  
  76. class Engineer extends Employee
  77. {
  78. public function getSalary()
  79. {
  80. // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
  81. if($this->isBoss == 0){
  82. $this->isBoss = 1;
  83. } elseif ($this->isBoss == 1){
  84. $this->isBoss = 1.5;
  85. }
  86.  
  87. if($this->rank == 1){
  88. return 200 * $this->isBoss;
  89. } elseif ($this->rank == 2){
  90. return 200 * 1.25 * $this->isBoss;
  91. } elseif ($this->rank = 3) {
  92. return 200 * 1.5 * $this->isBoss;
  93. }
  94. }
  95. public function getCoffeDrunk(){}
  96. }
  97.  
  98.  
  99. class Analyst extends Employee
  100. {
  101. public function getSalary()
  102. {
  103. // Если это не босс, то переменной присваевается 1 чтобы при умножение не было ошибки.
  104. if($this->isBoss == 0){
  105. $this->isBoss = 1;
  106. } elseif ($this->isBoss == 1){
  107. $this->isBoss = 1.5;
  108. }
  109.  
  110. if($this->rank == 1){
  111. return 800 * $this->isBoss;
  112. } elseif ($this->rank == 2){
  113. return 800 * 1.25 * $this->isBoss;
  114. } elseif ($this->rank == 3) {
  115. return 800 * 1.5 * $this->isBoss;
  116. }
  117. }
  118. public function getCoffeDrunk(){}
  119. }
  120.  
  121.  
  122. $vasya = new Analyst(1,0);
  123. echo $vasya->getSalary();
Success #stdin #stdout 0.01s 82880KB
stdin
Standard input is empty
stdout
800