Guest User

Untitled

a guest
Nov 19th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. /**
  2. *author: André M Fagundes
  3. *Description: Exemplo de como não criar uma classe com OCP (Open Close Principle)
  4. */
  5. public class Padaria
  6. {
  7. public function CalcularValorTotalPao($quantidade, $TipoDoPao)
  8. {
  9. if ($TipoDoPao == 'normal')
  10. {
  11. // calcula total pao normal
  12. }
  13.  
  14. if ($TipoDoPao == 'integral')
  15. {
  16. // calcula total pao integral
  17. }
  18. }
  19. }
  20.  
  21. /**
  22. *author: André M Fagundes
  23. *Description: Exemplo de como corrigir a classe acima para o uso correto de OCP (Open Close Principle)
  24. */
  25. abstract class Padaria
  26. {
  27. public abstract function CalcularTotal($quantidade, $TipoDoPao);
  28. }
  29.  
  30. public class CalcularTotalPaoNormal extends Padaria()
  31. {
  32. public function CalcularTotal($quantidade, $TipoDoPao){
  33.  
  34. }
  35. }
  36.  
  37. public class CalcularTotalPaoIntegral extends Padaria()
  38. {
  39. public function CalcularTotal($quantidade, $TipoDoPao){
  40.  
  41. }
  42. }
Add Comment
Please, Sign In to add comment