olá pessoal aqui o fábio barbosa treinamentos eles devemos continuar o nosso curso dml falando sobre diagramas de classes relembrando que vimos no vídeo passado os diagramas são utilizados para representar as visões distintas do modelo de sistema no caso dos diagramas do ml são duas visões distintas nós temos diagramas provisões estáticas ou estruturais e provisões dinâmicas ou comportamentais ou seja o comportamento dinâmico do sistema o diagrama de classes ele trata da estrutura estática do sistema a gente vai falar sobre esse tipo de diagrama neste vídeo ainda relembrando nós temos aqui duas colunas com os diagramas estruturais
e comportamentais que existem para o iml onde uma de classes é o primeiro que a gente vai estudar na verdade a gente vai estudar diagrama em mais de um vídeo porque o conteúdo extenso ea gente vai neste vídeo especificamente definir o que é um diagrama de classe no próximo vídeo a gente vai falar sobre os relacionamentos entre as classes sendo representadas na forma de diagramas ou então vamos lá e que é um diagrama de classes o iml onde a grama que a gente utiliza para descrever a estrutura estática das classes do sistema define assim atributos
métodos que são as operações e os relacionamentos entre essas classes esse é um dos diagramas mais importantes mais populares e inclusive o diagrama de classes ele é empregado na criação de outros diagramas mais complexos do mlt muito importante que você aprenda a criar programas de classe para poder mais pra frente conseguir criar outros tipos de diagramas mais complexos basicamente um diagrama de classes descreve o que deve estar presente no sistema que você está modelando ou seja que precisa existir nesse sistema bom dito isso vamos fazer uma rápida revisão do que são classes atributos e métodos
afinal de contas o diagrama de classe representar as classes a gente precisa saber o que são as classes se não é um curso de orientação a objetos mas é legal a gente falou rapidamente sobre isso então que é uma classe a classe a representação de um item qualquer do mundo real seja ele um item físico ou o item abstrato uma idéia um conceito na forma de um tipo de dados personalizado que você vai apresentar dentro do seu sistema e as classes elas têm internamente estruturas que a gente vai chamar de atributos e estruturas que a
gente vai chamar de métodos que representam operações os atributos são usados para armazenar dados dos objetos de uma classe ou seja informações sobre aquela classe sobre aquele item no mundo real que a gente está representando no sistema já os métodos são operações ou funções que a classe ou as instâncias de classe vão executar ou vão sofrer então atributo é informação método é é procedimento é função ea gente vai chamar instância de classe de objeto por isso a gente tem a ideia da orientação a objetos é um paradigma de programa de programação que trabalha com esse
conceito de instância a ação de classe a classe como se fosse um molde para uma idéia e um objeto é aquela ideia sendo implementada na realidade na prática aqui um exemplo bem simples de classes atributos e métodos vamos pensar por exemplo que a gente queira implementar no sistema a representação de uma pessoa o motivo é preciso um sistema que as pessoas sejam representadas então pra ver se eu posso criar uma classe chamada pessoa a pessoa é um item que existe no mundo real a gente vai representar um sistema por meio dessa classe tomando a classe
pessoa essa classe ela vai ter atributos quais são os atributos são as qualidades das características dessa pessoa que as pessoas têm de cláudia tributos altura nome idade peso e outras tantas que você pode imaginar na verdade a gente pode ter inúmeras há informações sobre uma classe inúmeros atributos você vai moderar um sistema aqueles que forem necessários para o seu sistema a gente vai ter métodos também por exemplo método andar comer falar estudar trabalhar dormir e outros tantos que são as ações que essa classe pode realizar ou pode sofrer então isso é a classe é uma
representação generic geral agora a gente fala do objeto da classe que também é chamado de instância da classe a gente está falando de um item específico de um exemplar específico daquela classe por exemplo eu poderia ter um objeto que representa a minha pessoa esse objeto vai ter os atributos e métodos da claro em geral a pessoa porém com as informações da minha pessoa em particular por exemplo atributos nome fábio altura 1 75 de altura idade 42 peso 79 quilos e assim sucessivamente e os métodos todos aqueles que a gente estou não necessariamente você vai me
empregar todos os métodos mas eles existem para pessoa há por exemplo uma pessoa pode estudar e não trabalhar outra pessoa pode trabalhar e não estudar mas os métodos estão lá elas são capazes de fazer aquilo se for necessário então essa ideia bem geral zona bem rápidos sobre classes atributos métodos e objetos no curso de orientação a objetos a gente vai falar muito mais a fundo sobre isso aqui na bola aqui só pra gente ter uma noção para poder criar os diagramas de classe agora falando diagrama de classe também que a gente representa a classe na
forma de um diagrama o ml que é o nosso objetivo a gente representa a classe usando um diagrama que é um retângulo um quadrado dividido em três partes três compartimentos uma parte para o nome da classe uma parte para listagem de atributos da classe e uma terceira parte para estágio de operações da classe ou seja dos seus métodos estão no nome a gente coloca sempre o nome que você deu pra classe e também um estereótipo da classe sobre o estereótipo a gente vai falar em outro momento há uma informação específica sobre a claro por exemplo
se a marca é uma interface é uma classe de estrada isso a gente vai falar em outro momento tanto por enquanto o nome é um compartimento onde você nomeia identifica a classe depois você vai ter um compartimento para os atributos uma lista de atributos um pulinho sempre nesse formato nome do tributo dois pontos tipo de dados então você vai ter que especificar qual é o tipo de dados daquele tributo se ele é é número inteiro pontos flutuantes e texto extreme silêda à bulhão etc e a gente também pode atribuir valor quando já existia algum valor
padrão por exemplo a gente feliz informado nome dois pontos tipo igual e o valor padrão está sendo atribuído e para as operações a lista de métodos a mesma coisa vai ter um compartimento específico a gente vai usar esse formato nome do método abre parênteses aqui dentro da lista parâmetros de entrada se houverem parâmetros de entrada se não é só abre parênteses e fecha parênteses em nada dentro dois pontos e um tipo de retorno método pode retornar uma informação de algum tipo por exemplo tornou uma string o número inteiro ou até no retornado retornar o que
a gente chama the void mas tem que ter lá esse tipo de retorno da mesma forma e aí a gente também coloca dentro da representação da classe a visibilidade dos membros que é apresentada por pêlos modificadores de acesso modificável acessam esses símbolos aqui o mais o resto - útil ou essa barra elas representam a visibilidade dos atributos significa os atributos ou os métodos operações elas são acessíveis por quem por todas as classes do sistema apenas por um grupo específico de classes ou por ninguém apenas através de métodos especiais então a gente classifica a visibilidade dos
membros utilizar esses modificadores de acesso então o sinal de + significa público é o hash ou sustenido representa protegido o sinal de menos eu privado o tio significa que se trata de um pacote ea barra sem ver que se trata de e derivados os mais empregados são público e privado a gente vai entrar em mais detalhes sobre isso mais pra frente e aqui é um exemplo de uma representação de classe de acordo com essas regras que eu acabei de mostrar então não foi por querer representar uma classe pessoa contém um dos atributos nome sobrenome e
data de nascimento e método cálculo idade mas o método estuda então fica assim a gente tem aqui o retângulo joão grandão dividido em três partes a primeira parte em cima sempre o nome da classe em nome da classe começando com letra maiúscula pessoa depois no segundo compartimento a gente coloca lista de atributos a gente sempre começa com o modificador de acesso no caso aqui o pouso num sinal de menos para os três então eu tenho três atributos privados aí vem o nome do tributo aqui é nome sobrenome e data de nascimento dois pontos e o
tipo de dados no caso nome sobrenome são instruídos de texto ea data de nascimento do tipo desde então ele tem os atributos e embaixo a gente coloca lista de métodos mesma coisa sempre começa com os modificadores de acesso a que ambos são públicos sinal de + vem o nome do método por exemplo calcula idade esse método recebe é um parâmetro de entrada que a data de nascimento e retorna o número inteiro dois pontos 20 ou seja coloca a data de nascimento ele me diz quantos anos a pessoa tem é que eu adicionei também depois um
outro método chamado estuda que não recebe nenhum parâmetro de entrada e retorna voz não retorna nada simplesmente executa uma ação a pessoa estuda simplesmente isso a sua forma de apresentação ela não importa saber como funcionam esses métodos aqui vai ser implementado na fase de programação aquilo que importa é representar os métodos e dizer durante essa fase de análise que deve existir esse método deve existir tal parâmetro tal atributo para que a classe executiva a funcionalidade dentro do sistema então é assim que a gente representa uma classe sistema obviamente é composto por muitas classes que se
relacionam entre si e os relacionamentos são conexões entre os itens existem vários tipos de relacionamentos que são possíveis entre as classes os relacionamentos a gente vai falar no próximo vídeo são esses aqui dependência associação agregação composição e generalização barra especialização que cada um desses tem uma representação gráfica específica então para a gente não se alongar demais no próximo vídeo a gente vai falar sobre os relacionamentos entre classes enquanto isso vai estudando a representação das classes de uma revisada na idéia de orientação a objetos classes de tributos e métodos e na seqüência a gente vai falar
sobre como essas classes são representadas no diagrama de classes em termos dos seus relacionamentos legal gente tão só espero que tenha gostado aproveite para se inscrever aqui no canal da bola no treinamento se você não se inscreveu e também para visitar o nosso website www.voegol.com.br obrigado e até o próximo vídeo