Melhor, maior, e mais completo curso de Java em português grátis de toda Internet está de volta. Mar...
Video Transcript:
E aí E aí galera daqueles muito bem-vinda novamente ao posto de maratona Java E como sempre aquele muito obrigada por todos vocês isso mesmo nosso canal nessa aula vamos falar sobre um dos Tópicos que acredito ser a um dos mais importantes em relação ao mundo do além das objetos que a coesão então quê que é coisa a coesão é alto está relacionado ao propósito das suas classes então quando a gente fala que o nosso código é altamente coiso nós estamos falando que as nossas classes elas não estão misturando o propósito delas existirem vamos ver o que que isso significa na prática vamos imaginar por exemplo aqui nós temos a o seguinte caso eu quero que vocês agora é crime para mim os atributos relacionados a professor então eu quero o nome do professor idade professor e Sexo do professor Tá bom vou mostrar pra vocês o jeito errado o que que é o jeito errado do jeito errado queria vir aqui eu vou copiar esses três aqui que eu sou preguiçoso e vou fazer o seguinte agora eu tenho que nome o professor idade Professor sexo Professor fiz nesse código tá errado Tecnicamente não mas do propósito de manutenção de escalabilidade no futuro está completamente errado porque vamos imaginar a seguinte situação eu tenho que ir Nossa classe estudantil Nossa quase estudante ela tem o nome da de sexo que como ela não tem absolutamente nada depois eu assunto primeiramente já começa a problema tá sumindo que nome idade sexo relacionado ao estudante e temos também nome Professor idade Professor certo o professor o problema começa quando você precisa fazer alterações relacionadas a estudante então se eu pedi agora para você adicionar uma matrícula estudante você vai ter que vir aqui e adicionar no campo matrícula se eu pedi agora para você adicionar por exemplo RG para pessoa você vai ter que ver aqui e adicionar uma região Professor o problema é você tá em uma classe que relacionada a estudante E você tá fazendo duas coisas completa em suma é tratando de estudante e a outra cartão de uma pessoa então qualquer alteração que você fizer o professor você vai ter que envolver estudante no meio e qualquer coisa que você quiser estudante você também vai ter que mover a o código relacionada a professora Então isso é só um pequeno exemplo mas é na vida real que acontece você tem lado 300 classes as coisas começam com um pouco mais complicada porque você que já começa a mexer um pouquinho aqui aí quebra tudo para de funcionar então quando a gente fala que o nosso código ele tem que ter altamente coiso é o com específico ou com um propósito único ou nossos clássicos elas são servindo então por exemplo isso daqui tinha que vir tá própria classe de professor todos os os domínios que nós temos eles são relacionados a algo que existe no mundo real então nós temos de estudante que existe no mundo real e nós matamos um computacional nós temos o professor do mundo real que nós marcamos por um mundo Como funcionava Então nesse caso aqui nossa quase Solange não tá mas é representa e o mapeamento uma abstração no mundo real porque nós estamos misturando os conceitos de professores estudantes são coisas diferentes no real Professor o professor um estudante a estudante de ter um relacionamento entre si mas eles não são a mesma coisa e quando você coloca eles dentro do mesmo objeto você tá falando que esses caras são a mesma coisa porque eles vão dar origem a um objeto que o objeto estudante tá então a gente vai colar lá na frente de decomposição que aí sim você tem um relacionamento e estudante Professor mas aqui o que a gente tá falando aqui nossa casa mas a classe tá baixa mente coisa né Ela tá fazendo duas coisas que é Tratado de estudante e professor e que qualquer tipo de alteração estudante uma pessoa vai afetar o código todo então isso aqui é uma péssima prática então o certo é eu quero a pessoa ir para o caso aqui uma classe professor a e agora a gente vem aqui na um control v e remove tudo que tem para pessoa porque porque eu sei que isso é relacionado Professor nós temos aqui a classe Professor nós temos o nome das sete eu não preciso ficar adicionar um outro nome e um outro exemplo por exemplo de baixa coesão é você por exemplo colocar o povo que está tipo de mim aqui você pode fazer isso pode é um código q eu compre lá executar ele vai funcionar mas isso tá errado porque porque o nosso código agora ele tá fazendo duas coisas a classe durante que era para representar o domínio um estudante no mundo real tem o mata do pobre está te guarde Amém significa que essa é uma classe que está representando espumante e também a execução desse estudante O que por exemplo só prescisa ter alguma coisa relação da cidade eu teria que alterar indo a na alterar Nossa classe aqui pra gente só quer alterar o teste que ela imprimir mais alguma coisa eu tenho que vir aqui e alterar sua classe e posso acidentalmente é para me xingar code O que é não tem nada a ver com que eu quero então nosso caso aqui ó criar um estudante testes anti-idade dois nós estamos mantendo o código altamente coiso pode o propósito único que a estudante estudante o teste testar aquele estudante Então lembre-se desse termo Coesão e agora que nós temos o professor vamos fazer a mesma coisa vamos criar uma classe Professor teste e vamos imprimir todo e o nosso professor então por exemplo mas ele aqui professor test01 para manter o padrão Nós criamos um método qualitativo de mim psvm aperta Tab É e vamos imprimir agora todos os dados do do professor só quero que você sempre usados para pessoa em uma única linha Então esse é o desafio que nós temos como é que a gente resolve isso primeiramente nós precisamos criar um objeto agora a mas o Dante é uma pessoa temos que fazer o mesmo processo de importar o professor lá da nosso pacote inteligente faz isso para gente precisamos dar o nome trabalhar o diferença e que ter um objeto que legal ai minha parte de professor. Nome bom então Eu sei como é o professor. Idade o professor foto sexo um milhão chá Vamos colocar E agora como é que a gente fazia para imprimir esses caras em uma linha só a gente pode fazer 20 Salt nós podemos colocar aqui Professor.
Nome lembra do sinal de concatenação os podemos fazer a mesma coisa aqui ó então nós concatenação ou com continuar com um espaçozinho mais agora Professor. Idade e em seguida mais um espacinho aqui Professor.