Curso POO Java #03b - Configurando Visibilidade de Atributos e Métodos
Introdução e Visão Geral
Visão geral da seção: Nesta aula prática do curso de programação orientada a objetos, o professor Gustavo Guanabara introduz o tema de modificação de visibilidades na linguagem Java. Ele ressalta a importância de ter assistido à aula conceitual anterior antes de prosseguir.
Modificação de Visibilidades
- Aula 3B: Esta é uma continuação da aula 3A, onde foram estabelecidos os fundamentos necessários para entender o conteúdo desta aula.
- Revisão do Diagrama de Classe: O professor menciona que na aula conceitual foi discutido sobre o diagrama de classe, onde foram definidos os nomes, atributos e métodos das classes, bem como suas visibilidades.
- Símbolos de Visibilidade: Os símbolos utilizados para representar as visibilidades são explicados. O símbolo "+" representa público, "-" representa privado e "#" representa protegido.
- Preparando o Ambiente: É sugerido abrir o NetBeans para começar a trabalhar com código Java.
- Exemplo Prático: O professor mostra um código já existente da classe "Caneta" e explica que agora irá definir as visibilidades dos atributos e métodos.
Definindo Visibilidade dos Atributos
Visão geral da seção: Nesta parte da aula, o professor inicia definindo as visibilidades dos atributos da classe "Caneta".
Definindo Visibilidade dos Atributos
- Modelo e Cor Públicos: Os atributos "modelo" e "cor" são definidos como públicos, pois possuem o símbolo "+" no diagrama de classe.
- Ponta Privada: O atributo "ponta" é definido como privado, utilizando o símbolo "-".
- Carga e Tampada Protegidos: Os atributos "carga" e "tampada" são definidos como protegidos, utilizando o símbolo "#".
Definindo Visibilidade dos Métodos
Visão geral da seção: Nesta parte da aula, o professor continua definindo as visibilidades, agora dos métodos da classe "Caneta".
Definindo Visibilidade dos Métodos
- Status Público: O método "status" é definido como público para permitir acesso externo.
- Rabiscar Público, Tampar e Destampar Protegidos: Os métodos "rabiscar", "tampar" e "destampar" são definidos com visibilidade pública, enquanto os métodos "tampar" e "destampar" são protegidos.
Testando as Modificações
Visão geral da seção: Nesta parte final da aula, o professor salva as modificações feitas nos atributos e métodos da classe "Caneta" e realiza testes para verificar seu funcionamento.
Testando as Modificações
- Execução do Programa: O código é executado para mostrar que todas as modificações foram realizadas corretamente.
- Modificando Atributos: São feitas alterações nos valores dos atributos modelo (para "Bic Cristal"), cor (para "azul") e ponta (para 0.5).
- Restrição de Acesso: O NetBeans destaca que a modificação do atributo "ponta" é inválida, pois ele possui visibilidade privada.
- Conclusão: O professor explica que o NetBeans impede a modificação do atributo privado, enquanto em outras linguagens como PHP isso não ocorre.
Conclusão
Nesta aula prática, o professor Gustavo Guanabara abordou a modificação de visibilidades na linguagem Java. Foram definidas as visibilidades dos atributos e métodos da classe "Caneta", destacando-se os conceitos de público, privado e protegido. O código foi testado para verificar se as modificações foram aplicadas corretamente.
Acesso a atributos privados e protegidos
Visão geral da seção: Nesta seção, o instrutor explora como acessar atributos privados e protegidos em uma classe. Ele demonstra exemplos de código usando os atributos "carga" e "tampada" da classe "Caneta".
Atributo "carga"
- O atributo "carga" é protegido na classe "Caneta".
- Tentar modificar o valor do atributo "carga" fora da classe resultará em um erro.
- No entanto, dentro da classe ou de uma subclasse, é possível modificar o valor do atributo "carga".
Atributo "tampada"
- O atributo "tampada" também é protegido na classe "Caneta".
- É possível alterar o valor do atributo "tampada" dentro da própria classe ou de uma subclasse.
- Exemplos de código são fornecidos para demonstrar como alterar o valor do atributo.
Diferença entre PHP e outras linguagens
- O instrutor menciona que a forma como os modificadores de acesso funcionam pode variar entre as linguagens.
- Ele destaca que no PHP, por exemplo, a funcionalidade dos modificadores de acesso protegido difere ligeiramente.
Acesso a métodos privados
Visão geral da seção: Nesta seção, o instrutor explora como acessar métodos privados em uma classe. Ele demonstra exemplos de código usando o método "rabiscar" da classe "Caneta".
- Métodos privados só podem ser acessados dentro da própria classe.
- Tentar chamar um método privado fora da classe resultará em um erro.
- Exemplos de código são fornecidos para demonstrar como alterar a visibilidade de um método e acessá-lo.
Acesso a atributos privados com métodos públicos
Visão geral da seção: Nesta seção, o instrutor explora como acessar atributos privados usando métodos públicos em uma classe. Ele demonstra exemplos de código usando os atributos "tampada" e "carga" da classe "Caneta".
- É possível criar métodos públicos que permitem modificar atributos privados.
- Exemplos de código são fornecidos para demonstrar como criar métodos públicos que alteram os valores dos atributos privados.
Analogia com acesso a caixa no supermercado
Visão geral da seção: Nesta seção, o instrutor usa uma analogia com um supermercado para explicar o conceito de acesso público e privado em classes.
- O instrutor compara o acesso a um caixa de supermercado ao acesso a atributos e métodos em uma classe.
- Ele destaca que apenas a própria classe pode mexer nos atributos privados, assim como apenas o atendente do caixa pode mexer no dinheiro do caixa.
- A analogia ajuda a entender as diferenças entre os diferentes níveis de acesso em classes.
Importância da prática e compartilhamento
Visão geral da seção: Nesta seção, o instrutor enfatiza a importância da prática e do compartilhamento de conhecimento.
- O instrutor incentiva os espectadores a praticarem os conceitos apresentados nas aulas.
- Ele destaca que assistir às aulas não é suficiente, é necessário praticar para realmente aprender.
- O instrutor também pede aos espectadores que compartilhem as aulas nas redes sociais e incentivem outras pessoas a assistirem e praticarem.
Conclusão
O instrutor abordou o acesso a atributos privados e protegidos, métodos privados e o uso de métodos públicos para acessar atributos privados. Ele usou exemplos de código e uma analogia com um supermercado para explicar esses conceitos. A prática foi enfatizada como uma forma importante de aprender, juntamente com o compartilhamento do conhecimento adquirido.
Aulas Semanais
Visão Geral da Seção: Nesta seção, é explicado que todas as semanas são lançadas três aulas: uma aula conceitual e duas aulas práticas, sendo uma em PHP e outra em Java. É ressaltado que é possível assistir às duas aulas práticas a qualquer momento.
- Toda semana são lançadas três aulas: uma aula conceitual e duas aulas práticas (uma em PHP e outra em Java).
- As linguagens de programação Java e PHP possuem pequenas diferenças, como por exemplo, na visibilidade protegida.
- É importante entender os conceitos fundamentais, pois eles serão aplicados em todas as linguagens de programação orientadas a objetos.
Inscrição no Canal
Visão Geral da Seção: Nesta seção final do vídeo, é incentivada a inscrição no canal para receber mais conteúdo relacionado ao curso.
- O espectador é convidado a se inscrever no canal, curtir e compartilhar o vídeo.
- É mencionado que o curso possui outros vídeos disponíveis para auxiliar no aprendizado.