Orientação a Objetos em Python - SOLID (O) - Princípio Aberto / Fechado

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

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

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

    Tõ presa nessa playlist, socorro! Parabéns pela metodologia, você ensina muito bem!

  • @AlexXavier
    @AlexXavier 8 месяцев назад +1

    Quando mais aprendo Python, menos gosto dele, mas tem que aprender! Valeu por mais esta aula!

  • @JosédaSilva-z5y
    @JosédaSilva-z5y 7 месяцев назад

    Quanto mais aprendo Python - com você - mais eu gosto dele. Não preciso aprender mas gosto muito. Aprender com você é um prazer. Obrigado !!

  • @mateusisrael9825
    @mateusisrael9825 3 года назад +8

    Cara, vc explica com muita clareza! Obrigado por compartilhar esse conhecimento.

  • @Liasthp
    @Liasthp 2 года назад +3

    Já tentei aprender programação orientada a objetos com outros 4 professores, mas com nenhum entendi tão bem quanto com você! Ótima didática

  • @bravo7812
    @bravo7812 10 месяцев назад

    Meu amigo, que didática maravilhosa!
    Muito bom seu trabalho, de verdade...

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

    Rafa.... excelente suas aulas... estou na 9... Gratidão! Estou começando a desenvolver um programa, comecei em Python... aí fui buscar mais informação e encontrei sua playlist... incrível... agora estou pensando em mudar pra Java... vi um vídeo seu falando do Java e de uma plataforma de cursos... cara... bom demais... se eu for fazer em Java, conhece algum conteúdo parecido com sua playlist que está excelente? Cara, passar sua playlista pra Java... já pensou nessa hipótese... Gratidão! Forte abraço!

  • @Emerson-cl1qm
    @Emerson-cl1qm 3 года назад +1

    Explicação muito boa, consegui entender não só o princípio aberto fechado, como a real necessidade de uso de interface.

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад

      Parceiro, tamo aí pra ajudar. Feliz que tu conseguiu pegar a mensagem. Tamo junto!

  • @EEGtube
    @EEGtube Год назад

    Parabéns pela didática, sou hobista e estou aprendendo python nas horas vagas. Você ensina com muita clareza e objetividade. Muitos falam e falam e não conseguem explicar em uma aula inteira o que você esclarece , muitas vezes, em uma linha. Muito obrigado.

  • @claudiogalinha
    @claudiogalinha 10 месяцев назад

    Bom Trabalho!! Obrigado

    • @ProgramadorLhama
      @ProgramadorLhama  10 месяцев назад

      Tá maratonando os vídeos! Kkkk. Espero que seja de ajuda! Bons estudos! :)

  • @branoliver9876
    @branoliver9876 3 года назад +1

    Simples, claro e objetivo 👏👏
    Pra mim essa aula foi muito mind blowing nunca tinha pensado no OCP dessa forma. Muito obrigado por essas aulas. Extremamente úteis

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад +2

      Tamo junto parceiro! Vamos evoluindo e aprendendo coisas diferentes. Sucesso na tua caminhada cara!

  • @gbcgiovanni6885
    @gbcgiovanni6885 3 года назад +1

    um dos melhores, talvez o melhor, conteudo sobre software. Parabens

  • @VanessaNunezP
    @VanessaNunezP 2 года назад

    Explicação maravilhosa!
    Parabéns!

  • @ViniciusSpreadAnalysisVSA
    @ViniciusSpreadAnalysisVSA 2 года назад

    Os exemplos que vc usa são ótimos! rs

  • @patterson167
    @patterson167 3 года назад +8

    E o Circo continua funcionando desde que o apresentador, seja ele qual for, possua o método esperado para apresentar o show, porque o show não pode parar!

  • @gambiando
    @gambiando 2 года назад +1

    Vc já tinha dado algum tipo de aula antes do canal? Sua didática é incrível! Parabéns

  • @willzin-da-esfiha
    @willzin-da-esfiha 3 года назад +2

    Bem didático! Pelo que entendi, quando a gente tá usando um model em uma ORM a gente tá usufruindo desse princípio, né?

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад

      Exatamente. Pra ORMs, é mais interessante que tenhamos uma conexão específica e um modo de fazer SQL comum

  • @claudineievangelistanascim2562

    @ProgramadorLhama Poderia por gentileza informar se faz sentido dentro do conceito SOLID, aulas Responsabilidade Única e Princípio Aberto/Fechado (esta aula). Criei a estrutura a seguir que uma situação real que estou desenvolvendo :
    class DataAnalyze:
    # data analyzer : analyzing data of the type string, integer, decimal/float and date
    def dataanalyze(self,analyzer:any,data)->None:
    analyzer.analisyngdata(data)
    class DataStrn:
    # string
    def analisyngdata(self,data:str)->None:
    self.__analisyngdata(data)

    def __analisyngdata(self,data:str)->None:
    if isinstance(data,str):
    return print(f'{data}')
    else:
    print(f'dado deve ser string. corrigir!')
    class DataIntg:
    # integer
    # string
    def analisyngdata(self,data:int)->None:
    self.__analisyngdata(data)

    def __analisyngdata(self,data:int)->None:
    if isinstance(data,int):
    return print(f'{data}')
    else:
    print(f'dado deve ser integer. corrigir!')
    class DataDate:
    from datetime import datetime
    # date
    # string
    def analisyngdata(self,data:datetime)->None:
    self.__analisyngdata(data)

    def __analisyngdata(self,data:datetime)->None:
    from datetime import datetime
    format = "%d-%m-%Y"
    res = True
    try:
    res = bool(datetime.strptime(data,format))
    return print(f'{data}')
    except ValueError:
    print(f'dado deve ser data formato dd-mm-aaaa. corrigir!')
    class DataDecimal:
    # decimal
    # string
    def analisyngdata(self,data:float)->None:
    self.__analisyngdata(data)

    def __analisyngdata(self,data:float)->None:
    if isinstance(data,float):
    return print(f'{data}')
    else:
    print(f'dado deve ser float. corrigir!')
    # -------- -------- -------- -------- -------- -------- -------- --------
    dataanilyse = DataAnalyze()
    date = DataStrn()
    dataanilyse.dataanalyze(date,'01-01-2022')
    print(f'')
    date = DataIntg()
    dataanilyse.dataanalyze(date,5)
    print(f'')
    date = DataDate()
    dataanilyse.dataanalyze(date,'01-01-2022')
    print(f'')
    date = DataDecimal()
    dataanilyse.dataanalyze(date,01.09)

  • @matheuslobo9548
    @matheuslobo9548 7 месяцев назад

    (Perdao a falta de acentos e alguns erros gramaticais meu teclado nao tem os acentos pois comprei fora do Brasil)
    irmão, aula sensacional. Tive um aprendizado muito melhor contigo que com cursos caros que eu paguei que apenas enrolam e demoram para chegar ao ponto.
    Tenho apenas uma dúvida no assunto. ainda não terminei tudo e estou maratonando a sua playlist de OOP, e a partir de hoje irei acompanhar o canal. Ainda sou um pouco leigo em programação, já sei os princípios básicos e comecei a estudar OOP tem um mês mais ou menos, você poderia me dizer como eu implementaria o OOP em um sistema? por exemplo (Digamos que eu queira criar um site) faco o banco de dados faco toda a lógica, porem em qual ponto o OOP seria realmente útil para o meu programa? (Como disse sou realmente leigo ainda e reconheco)

  • @felipemagalhaes541
    @felipemagalhaes541 3 года назад +1

    Fala Lhama, sobre esses princípios, eles são usados em conjuntos ou tenho que me basear em somente um?

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад +3

      Cada princípio tem seu cenário e sua utilização. Por exemplo, o próximo princípio (Substituição de Liskov) utiliza o conceito de herança. Pra projetos que não tenham heranças entre classes, a necessidade desse princípio é zero.
      A maldade mesmo é saber quando usar e detectar o melhor cenário, mas eles não são todos interligados (embora seja recomendado que seu projeto tente se ater a eles)

    • @felipemagalhaes541
      @felipemagalhaes541 3 года назад

      @@ProgramadorLhama Tendi, vlw

  • @alexandresoarespereiralima886
    @alexandresoarespereiralima886 2 года назад

    professor como obter este livro

    • @ProgramadorLhama
      @ProgramadorLhama  2 года назад

      Pesquise: arquitetura limpa. É o livro que eu uso. Há versões em PDF na internet, mas aí deve se achar um link de confiança...

  • @henriquesouza5116
    @henriquesouza5116 3 года назад

    Me corrija se eu estiver errado...
    Então esse princípio "SOLID", é vc nada mais criar várias classes, métodos e funções para que os códigos do "módulo" fique bem mais simples?

    • @ProgramadorLhama
      @ProgramadorLhama  3 года назад +2

      Cara, mais ou menos. A idéia é mais atrelada a o lema: "entradas diferentes geram saídas diferentes". Nesse caso vc traz as escolhas pra fora da classe ao invez de fazer "n" verificações