Curso POO Teoria #03a - O que é Visibilidade em um Objeto?

387.55k views3716 WordsCopy TextShare
Curso em Vídeo
Nessa aula de POO, vamos aprender qual a importância dos modificadores de visibilidade público ( ), ...
Video Transcript:
vai atrapalhar muscular quero já foi ou seja bem vindo a mais uma aula de seu curso programação orientada a objetos e hoje eu tô na feira a ser aqui dentro do google vocês vão estudar um pouquinho mais sobre o programa a meta do objeto para lá pessoal olá pequeno gafanhoto seja bem vindo a mais uma aula do seu curso de programação orientada a objetos meu nome é gustavo guanabara eu sou professor e chegamos agora a terceira aula e nessa terceira aula nós vamos falar sobre visibilidade e acredita em mim se você não entendeu que a
visibilidade você não entende a grande essência da programação orientada a objetos mas antes de falar esse conceito antes de falar sobre visibilidade você já ouviu falar em linguagem de modelagem unificada não então pega primeira letra de cada um desses termos aí dá uma lida lm uai está confuso agora além de trás para frente essa sigla que você acabou de falar você ouviu falar em o ml não viu a linguagem de modelagem unificada é uma coisa muito importante o foco desse curso não é tratar sobre o ml propriamente dito mas vira e mexe eu vou ter
que falar sobre o mr eu poupei vocês até agora mas saiba que assim como no curso de banco de dados a gente não falou sobre o modelo relacional assim aprofundadamente nós não vamos falar sobre a linguagem modelagem unificada mas ela é bastante importante também para a programação orientada a objetos o que eu vou falar aqui sobre conceitos e vira e mexe eu vou falar sobre o diagrama que com certeza é o diagrama mais famoso do ml que é o diagrama de classe que com certeza você está fazendo escola ou faculdade na área de tecnologia algum
professor já citou da gama de classes ou seja até aprender algumas técnicas eu não vou me aprofundar nisso mas sabe quando você evoluir um pouco mais nos seus estudos de pior você vai precisar estudar o ml mais cedo ou mais tarde mas para quê serve esse diagrama de classes não sei se você conseguiu entender quando seu professor acabou de se explicar na sala de aula basicamente funciona assim você se lembra da água passada eu falei sobre o objeto e deu o exemplo de uma caneta caneta é um objeto na hora de você criar um modelo
para essa caneta na hora de você criar um molde para essa caneta agente representou ela assim é com tracejado setal uma coisa mais simples a oms leva essa simplicidade ao modelo extremo para o diagrama de classes toda classe é um retângulo então prestar atenção a gente tem aqui do lado uma caneta uma foto de uma caneta depois existem o rascunho a caneta a gente chama de classe na hora passada ea partir do momento em que a gente começa a tratar sobre o ml sobre uma linguagem unificada toda classe independente do que ela seja vai ser
representada como retângulo isso acaba sendo muito simples por exemplo carro carro o objeto desenhar um carro você consegue agora aula aula um objeto desenho uma aula pedido pedido um objeto desenham um pedido à linguagem de modelagem unificada na representatividade aqui do diagrama de classes ela simplifica tudo isso então não preciso mais saber desenhar uma classe desenhar um modelo um molde de objeto eu faço um retângulo dentro de si retângulo na parte superior geralmente em e com a primeira letra maiúscula a gente coloca o nome da classe que no caso caneta depois nós vamos fazer dois
traços separando a parte de cima o cabeçalho um miolo o corpo central ea parte de baixo deixa mostrar para você então essa parte de cima ela representa o nome da classe nessa área que nós vamos colocar todas as características todos os atributos que a classe vai ter que lembrar o passado os atributos não lembra não tem problema eu lembro pra você esses atributos a estão aparecendo do lado são os atributos que a gente previa uma passada daquela classe que a gente montou rapidamente e como eu disse aqui ó na parte de baixo a gente vai
representar todos os métodos então os métodos que a gente também previu na aula passada foram esses aí percebe que os métodos estão com parênteses depois isso é um padrão percebe outra coisa também aqui do lado a classe está com a primeira letra maiúscula os atributos e os métodos começa com letra minúscula 10 e os métodos têm parênteses depois disso a cada simplificando muito a representatividade das classes objetos com seus atributos e métodos na hora que você usa um padrão então sempre que você vir um nome ele começar com letra maiúscula na linguagem de programação se
o seu programador foi correto na representação dele você pode ver que é uma classe se começar com letra minúscula assim começar com letra minúscula pode ser atribuída ao método e como é que eu sei que é atributo como é que o método da maioria aqui do lado os atributos eles não têm parênteses depois os métodos tem com essa representação que você está vendo aqui você consegue de maneira simples identificar o que é nome de classe que é nome de atributo e o que método com certeza isso vai facilitar muito a sua vida então adota essa
representação é que eu tô falando pra você visto isso a gente pode ir pro assunto dessa aula que eu falei anteriormente os modificadores de visibilidade os modificadores de visibilidade são 3 e vai ser muito fácil de você entender eu garanto pra você é só você prestar atenção fecha essa água e do facebook para combate zap que com certeza se você prestar atenção e se você pratica nas nossas próximas aulas na aula prática lembre-se que sempre sai aula prática você clicar aqui o nezinho lá em cima tem um vizinho lá em cima clica nele e lá
você vai ter acesso às aulas práticas primeira assistir essa aula teórica o que é uma visibilidade deixa ele aqui pra vocês ele indica o nível de acesso aos componentes internos de uma classe quais são os componentes internos de uma classe de renda foi outro a tributos e métodos não é isso a visibilidade vai dizer qual é o nível de acesso que você tenha ele e você pode utilizar três símbolos para isso deixando bem claro que a gente vai utilizar a nomenclatura da o ml que é universal você pode utilizar um mais o símbolo de menos
ou o símbolo de ser filha que a juventude gosta de chamar de hashtag esses três símbolos têm nomes a gente vai ter que aprender aqui o símbolo de mais representa a visibilidade pública o símbolo de - representa visibilidade privada ea ser filha o jogo da velha representa o modo protegido e se você ficou confuso com esses três símbolos e suas nomenclaturas presta atenção como explicar de uma maneira natural lembra da primeira aula desse curso onde eu falei que uma das principais características na verdade uma das que eu mais gosto é a naturalidade eu consigo dar
aula com exemplos práticos simples e naturais de se entender então vou te explicar esse conceito de público privado e protegido utilizando um objecto do seu dia-a-dia telefone e você pode ter telefones públicos telefones privados e telefone protegido pode eu falo telefone público o que vem à sua mente a telefônica está aparecendo aí né orelhão aqui no rio chama de orelhão não sei como é que se chama na sociedade o que caracteriza um telefone público o nome público é um telefone que qualquer um pode usar eu consigo utilizar esse telefone em qualquer lugar que ele esteja
disponível porque porque é público e que seria um telefone privado quando eu falo termo telefone privado eu penso logo no celular isso porque o meu celular é privado que significa sem o celular ser privado somente eu posso ver somente eu posso usar e ele pode estar pensando no meu celular é da minha família ele é todo mundo pode usar talma gafanhoto presta atenção a gente tem que utilizar o nível de abstração aqui imagine o seguinte seu celular a gente sabe que teve seu celular a resex e recebe notes após parada aí no chat isso torna
o seu celular privado você coloca uma senha pra ninguém tem acesso a isso e não adianta dizer que não eu sei então você coloca até uma senha para proteger e só você pode utilizar celulares modernos inclusive existe esse botãozinho aqui com uma impressão digital se quer coisa mais privada do que isso somente uma pessoa terá acesso a esse telefone então ele é privado e que seria telefone protegido colocar aqui por exemplo o telefone da sua casa apesar de que quase ninguém tem mais telefone em casa mas imagine o seguinte quem pode usar o telefone da
sua casa só quem for da sua família ou quem tem autorização não colocar o nível de abstração só quem é da minha família a minha mãe e os filhos dela guarda isso com certeza esse conceito de minha mãe e todos os filhos dela vão ser muito úteis para você então recapitulando dá uma olhadinha aqui do lado e telefone público é aquele que todo mundo pode usar telefone privado é aquele que só eu posso usar o telefone protegido é aquele que a minha mãe e os filhos dela podem utilizar ficou claro natural vamos ver então a
definição de público privado e protegido aos olhos da programação orientada a objetos todo o tributo ou método definido como público ele vai definir que a classe atual e todas as outras classes possam ter acesso a ela então se você botar um atributo como público todo mundo vai poder ver e usar esse atributo livremente já no caso do privado somente a classe atual vai ter acesso então se você definir um atributo e bota ele como privado somente a classe pode mexer nele inicialmente vai falar pra que eu vou criar um negócio onde só a classe pode
mexer calma pequeno gafanhoto só entendi essa parte até agora mais pra frente a gente vai evoluindo nós estamos numa caminhada e o que diz um atributo o método protegido a visibilidade protegida ela dá acesso à classe atual ea todas as suas subclasse o protegido pode ser que agora você não entenda a gente tem que ver um conceito mais pra frente um pouquinho que se chama herança mas guardas em público qualquer um pode usar privado só eu posso usar protegido só minha mãe e os filhos dela beleza e aí nós damos continuidade dando uma olhada naquele
diagrama de clássico a gente já tinha visto anteriormente recebe que agora eu coloquei na frente 26 todos na frente dos atributos pequenos símbolos isso vai determinar a a visibilidade o nível de acesso de cada um desses atributos ou cada um desses métodos como é que eu faço pra que essas visibilidade que estão prescritas aqui do lado possam funcionar efetivamente é fácil vamos ver as nossas linhas que nós utilizamos na aula passada você se lembra quando a gente define uma classe então eu tenho na parte de cima a classe definida agora no diagrama de classes da
url vamos definir essa classe o nome dela caneta então colocar classe caneta e lá embaixo o fim da classe dentro da classe nós vamos definir todos os atributos então coloquei ali todos os cinco atributos que eu tinha previsto nós temos também os métodos por questão de espaço vou representar dois métodos aqui os dois primeiros o método de escrever e o método de rabiscar é essa estrutura então eu tenho aqui ó a minha classe caneta todos os atributos com as suas visibilidades todos os métodos também com a sua visibilidade e eu defini a minha classe caneta
todos os atributos e todos os metros no caso aqui eu representei 2 por questão de espaço aqui na tela e slide mais curtinho ele é legal que você consegue ver direto mas eu fico espaço tanto quanto limitado mas você entende que eu tenho que colocar todos os métodos a partir de agora eu posso começar a colocar as visibilidades dá uma olhada em cima modelo modelo que é um atributo com a visibilidade que eu previa em cima dá uma olhadinha é público é tem mais então eu vou colocar o que na frente da definição dele eu
vou colocar a palavra público simples assim o atributo corpo também prevê como público é só você dá uma olhada então coloca com o público já o atributo ponta você percebe que o bloqueio - na frente então ele é privado vou colocar com o privado mas guanabara como é que você está escolhendo isso não tem critério por enquanto por enquanto nesse ponto eu não sei critério nenhum eu simplesmente fui distribuindo os símbolos o que eu quero mostrar aqui pra você é simplesmente a declaração não dar sentido ainda mais pra frente a gente for ver encapsulamento e
herança você vai entender melhor os dois próximos atributos que a gente está trabalhando aqui é o carga eo tampada os dois dá uma olhada eu coloquei uma hashtag do lado eles são protegidos então coloco protegido lado de um protegido do lado do outro e os meus dois primeiros métodos se você olhar aqui do lado todos os dois primeiros métodos que são o escreveu rabiscar foram definidos como público então eu posso colocar público na frente dos dois deu pra entender eu coloco a visibilidade na frente do tributo ou do método todo o método ele já tem
visibilidade mesmo que você não coloque aí cada linguagem de programação definir uma visibilidade padrão mais pra frente na aula prática você vai entender melhor isso e essa visibilidade vai interferir diretamente no uso do seu objecto dos seus atributos de seis metros vamos ver um exemplo aqui de algumas linhas de acesso que eu posso utilizar depois então você percebe que agora em cima eu tenho a minha classe caneta definida o que eu vou fazer agora é tentar criar um objeto dessa classe você deve se lembrar dela passada como é que se faz isso eu coloco o
nome do objeto igual nova e o nome da classe eu coloquei ali acaba de criar um objeto seu então tem uma classe caneta e c1 é um objeto dessa classe se você não entendeu esse direito volta pra aula anterior assistir aula 2 você por acaso pulou porque isso é muito muito muito importante e vão começar a tentar utilizar esses objetos aqui vamos fazer por exemplo essa caneta com a cabeça de criar seu objeto do modelo bic cristal como é que eu faço eu posso colocar o nome do objeto ser um ponto modelo recebe cristal já
que o modelo do tipo caractere é só olhar a quem se ama e aí vem a pergunta será que eu posso fazer isso ela corta sempre pode não há visibilidade vai definir se você pode ou não fazer esse tipo de coisa só uma olhada na visibilidade dá uma olhada na visibilidade modelo ali o atributo modelo acabou de ser definido como público se ele é público pensa no telefone público qualquer um pode mexer pode se pode mexer nessa linha e acabei de colocar aqui essa última linha está aparecendo aqui do lado ela é possível sim ela
funciona mas a continuidade e colocando o tributo por exemplo essa minha caneta cab cristal é azul então vamos definir a cor o atributo corpo azul eu posso fazer isso mais uma vez dá uma olhada em cima percebe que cor é público também então eu também posso mexer nesse atributo é só falar tá bom é igual cara a mesma coisa a mesma coisa porque a visibilidade é a mesma é uma olhada em cima no terceiro atributo que o atributo ponta a visibilidade dele é privada então se eu tentar fazer isso que eu estou fazendo aqui embaixo
e modificar o seu objeto ponto ponta igual a 0.5 isso não vai ser possível essa linha é a última linha que está aparecendo aqui do lado ela é considerada inválida e não vai funcionar isso porque o atributo foi definido como privada e você pode estar pensando até em guanabara como é que eu vou definir aponta como sendo 05 se eu não posso mexer no atributo existe outro jeito existe um jeito mais correto que é utilizando métodos assessores e métodos modificadores mas isso é assunto para a próxima aula por enquanto vai prestando atenção no que eu
te explicando aqui e aí chegamos a mais um atributo é uma olhadinha no próximo atributo que a gente está definido aqui é o carga o cargo é protegido que você vai falar o seguinte que pode usar um atributo protegido lembra a mãe e os filhos dela essas linhas que estão aqui embaixo faz parte da mãe não quem faz parte da mãe é o que está em cima de classe que tudo que está aqui em cima é mãe isso aqui não é filho isso aqui é uma chamada é como se fosse uma pessoa fora da sua
casa essa pessoa que está fora da sua casa tem acesso a essa carga então se eu colocar essa linha que eu vou colocar aqui do lado porém a carga para 80 será que vai funcionar não não vai não vai porque essa linha que está mexendo na carga ela não faz parte nem da mãe que a parte de cima nem dos filhos que ainda nem te ensinei como é que você vai definir um filho a gente vai aprender mais pra frente por enquanto eu só quero que você entenda o seguinte aqui embaixo nessa parte de chamadas
a única coisa que eu posso mexer é nos atributos e métodos definidos como público tudo que for privado ou protegido não pode ser utilizado então essa linha também estar inválida na próxima aula eu vou te ensinar como resolver isso por enquanto só entende a mesma coisa que eu acabei de explicar também serve pro tampado eu não vou conseguir mexer um atributo tampado já que é um atributo protegido outra coisa que a visibilidade também pode definir é a visibilidade é o acesso permitir ou proibir o acesso a determinados métodos se você prestar atenção aqui do lado
também nós temos um método escrever que é público eo rabiscar que é privado sendo assim como é que eu faço a linha para chamar o escrever eu boto o nome do objeto ponto a chamada do método então coloquei ser um ponto escrever não esquece os parênteses para indicar que o método eu posso fazer essa chamada eu posso começar a escrever como a caneta resposta posso porque ela é definida como publica agora eu posso mandar rabiscar com essa minha caneta ser um ponto a buscar mais uma vez eu quero deixar claro não dizem nada para definir
visibilidade que estão aparecendo aqui do lado tudo foi definido baseado simplesmente uma maneira de explicar mais pra frente a gente vai raciocinar um pouco pior pra poder entender o que é melhor colocar como privado que é melhor colocar como público que é melhor proteger se você ainda não entendeu o porquê que se colocam coisas como privado dá uma olhadinha nesse objeto e que vai aparecer na sua tela que isso aqui do lado é o controle remoto é isso ele é um objeto é um objecto eu te pergunto quem dentro desse objeto eu te mostro dentro
desse controle remoto é isso aí ó uma placa de circuito com alguns componentes agora percebe o seguinte eu tenho aqui alguns componentes internos você que é dono do controle remoto você pode ter acesso a tudo será que algumas partes têm que ser protegida de você raciocina comigo a parte de fora que você pode ter acesso então a parte de fora que teria o acesso público a gente na verdade chama isso de interface na programação orientada a objetos mas por enquanto a gente não vai se aprofundar isso você percebe que o tudo que está aqui do
lado é a parte externa tudo que eu tô passando a luzinha que são componentes públicos eu posso utilizar sem problema nenhum agora algumas outras partes são privadas e por que o uso desse chip é que eu estou identificando tem que ser privado para você não quebrar o controle o controle durar mais tempo então cria-se essa cápsula guarda está no seu coração para proteger e deixar disponível pra você somente a parte pública deu pra entender e tem uma parte vamos supor aqui por exemplo esse chip que eu circulei aqui de vermelho ele é um chip que
faz vamos supor a transmissão em infravermelho na televisão para fazer a interface então eu tenho que deixar o uso desse chip inacessível a você que é dono mas eu também tem que deixar ele é acessível a televisão pra gente poder conversar televisão controle remoto então isso seria uma espécie não é exatamente mas uma espécie de atributo protegido o método protegido onde quem pode utilizar não é você não é qualquer um mas sim o controle e aquilo que o controle vai controlar você compreender o conceito de visibilidade não significa nessa aula que você entendeu tudo já
esse é o primeiro passo é a melhor maneira de dar o próximo passo é o que você praticar não chegou a hora de você escolher e aí você está assistindo aula de programação orientada a objetos utilizando php o java você pode clicar diretamente nesses ícones ou simplesmente aqui em cima nos índices de atividade você vai ter acesso a essa aula aula de visibilidades nessa linguagem definidas então a gente se vê já dando continuidade não dá muito tempo entre uma aula e outra não já emendou uma na outra já vai abrir os ambientes e acabou de
ver a teoria vamos então partir para a parte prática um forte abraço e até viajar
Copyright © 2024. Made with ♥ in London by YTScribe.com