Orientação a Objetos em Python (Remake) Aula 10 - Associação de Classes

Поделиться
HTML-код
  • Опубликовано: 5 ноя 2024

Комментарии • 6

  • @marciorodriguesmota7927
    @marciorodriguesmota7927 День назад

    Excelente aula, onde posso encontrar mais exerícios ?

  • @prugzr
    @prugzr 2 месяца назад

    Tentei utilizar algumas outras abordagens que aprendi nas aulas passadas. Esse código está respeitando os princípios da responsabilidade única? Aceito sugestões de melhorias!
    class Interruptor:
    status = False
    def __init__(self, comodo: str) -> None:
    self.comodo = comodo
    def __imprime_estado(self, estado):
    self.estado = estado
    print(self.estado)
    def acender(self) -> None:
    if self.status:
    self.__imprime_estado(f'A luz do {self.comodo} já está acesa.')
    else:
    self.status = True
    self.__imprime_estado(f'A luz do {self.comodo} foi acesa.')
    def apagar(self) -> None:
    if not self.status:
    self.__imprime_estado(f'A luz do {self.comodo} já está apagada.')
    else:
    self.status = False
    self.__imprime_estado(f'A luz do {self.comodo} foi apagada.')
    class Pessoa:
    def __init__(self, nome: str) -> None:
    self.nome = nome
    def acender_luzes(self, interruptor: Interruptor) -> None:
    interruptor.acender()

    def apagar_luzes(self, interruptor: Interruptor) -> None:
    interruptor.apagar()

    pessoa1 = Pessoa('user1')
    interruptor1 = Interruptor('Quarto')
    pessoa1.acender_luzes(interruptor1)
    pessoa1.apagar_luzes(interruptor1)
    pessoa1.acender_luzes(interruptor1)
    pessoa1.acender_luzes(interruptor1)

    • @flexmaxedits729
      @flexmaxedits729 Месяц назад

      voce poderia fazer assim:
      def __init__(self, comodo: str) -> None:
      self.comodo = comodo
      self.aceso = False
      como ele vai ser um metodo para o objeto, nao tem necessidade de criar uma variavel de classe. De resto esta com uma boa logica, e respeita a responsabilidade unica, pos vc criou um metodo para para clausura

    • @prugzr
      @prugzr Месяц назад

      @@flexmaxedits729 Obrigado, Flex!

    • @flexmaxedits729
      @flexmaxedits729 Месяц назад

      @@prugzr De nada meu querido