41 - Orientação Objetos - Coesão

16.54k views1381 WordsCopy TextShare
DevDojo
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.
Related Videos
42 - Orientação Objetos - Exercício Classes
8:16
42 - Orientação Objetos - Exercício Classes
DevDojo
15,478 views
57 - Orientação Objetos - Sobrecarga de métodos
16:36
57 - Orientação Objetos - Sobrecarga de mé...
DevDojo
13,180 views
Entendendo Métodos em Java - Curso de Java - Aula 09
22:06
Entendendo Métodos em Java - Curso de Java...
CFBCursos
18,822 views
61 - Orientação Objetos - Modificador static
14:55
61 - Orientação Objetos - Modificador static
DevDojo
13,536 views
80 - Orientação Objetos - Enumeração pt 01 - Introdução
13:29
80 - Orientação Objetos - Enumeração pt 01...
DevDojo
10,464 views
‘Irony died while he was talking’: Nicolle Wallace on Elon Musk’s takeover of Oval Office 
12:24
‘Irony died while he was talking’: Nicolle...
MSNBC
356,334 views
Java's Garbage Collection Explained - How It Saves your Lazy Programmer Butt
9:01
Java's Garbage Collection Explained - How ...
Coding with John
92,789 views
Programação Orientada a Objetos (POO) // Dicionário do Programador
9:57
Programação Orientada a Objetos (POO) // D...
Código Fonte TV
267,114 views
FULL REMARKS: JD Vance Puts European Leaders On Notice About Trying To Regulate U.S. Tech Giants
15:50
FULL REMARKS: JD Vance Puts European Leade...
Forbes Breaking News
885,610 views
Map and HashMap in Java - Full Tutorial
10:10
Map and HashMap in Java - Full Tutorial
Coding with John
635,608 views
BREAKING: King of Jordan tells Trump he will take in thousands of kids from Gaza
19:55
BREAKING: King of Jordan tells Trump he wi...
Fox News
709,791 views
Curso de Java 44: Orientação a Objetos: Interfaces
16:56
Curso de Java 44: Orientação a Objetos: In...
Loiane Groner
96,085 views
60 - Orientação Objetos - Blocos de inicialização
11:32
60 - Orientação Objetos - Blocos de inicia...
DevDojo
12,982 views
DESCOMPLICANDO A ORIENTACAO OBJETO COM JAVA  -  JAVA PARA INICIANTES
31:55
DESCOMPLICANDO A ORIENTACAO OBJETO COM JAV...
Curso De Tecnologia
24,867 views
Every Programming Language Ever Explained in 15 Minutes
15:29
Every Programming Language Ever Explained ...
Flash Bytes
373,015 views
How to Learn to Code FAST (Do This or Keep Struggling)
11:00
How to Learn to Code FAST (Do This or Keep...
Andy Sterkowitz
728,812 views
54 - Orientação Objetos - Modificador de acesso private, get e set pt 01
17:01
54 - Orientação Objetos - Modificador de a...
DevDojo
14,785 views
Comparing 10 programming languages. I built the same app in all of them.
21:33
Comparing 10 programming languages. I buil...
Tom Delalande
195,490 views
My 10 “Clean” Code Principles (Start These Now)
15:12
My 10 “Clean” Code Principles (Start These...
Conner Ardman
330,611 views
ORIENTAÇÃO A OBJETOS: EXPLICADO (Parte 1)
28:43
ORIENTAÇÃO A OBJETOS: EXPLICADO (Parte 1)
Bonieky Lacerda
114,616 views
Copyright © 2025. Made with ♥ in London by YTScribe.com