Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARA0075 PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA Encapsulamento em Java Objetivos AULA 1: APRESENTAÇÃO DA DISCIPLINA • Enumerar as vantagens da utilização da técnica de encapsulamento; • Demonstrar a aplicação do conceito de encapsulamento. Programação Orientada a Objeto em Java Introdução AULA 1: APRESENTAÇÃO DA DISCIPLINA No desenvolvimento de aplicações, temos situações nas quais a segurança é muito importante. Em muitas situações os membros de uma classe (atributos e métodos) precisam ter o seu acesso restringido para que não sejam burlados por meio das aplicações. Esse processo de limitação de acesso aos membros de uma classe é chamado de Programação Orientada a Objetos de Encapsulamento. Programação Orientada a Objeto em Java Conceitos AULA 1: APRESENTAÇÃO DA DISCIPLINA “Encapsulamento trata-se de um mecanismo que possibilita restringir o acesso a variáveis e métodos da classe (ou até à própria classe). Os detalhes de implementação ficam ocultos ao usuário da classe, isto é, o usuário passa a utilizar os serviços da classe sem saber como isso ocorre internamente. Somente uma lista das funcionalidades existentes torna-se disponível ao usuário da classe.” Programação Orientada a Objeto em Java Conceitos AULA 1: APRESENTAÇÃO DA DISCIPLINA Encapsulamento é o processo de separação dos membros de uma classe através da restrição ao seu acesso. Pode ocultar os atributos e métodos de uma classe, evitando que dados e detalhes de implementação de métodos sejam vistos (acessados diretamente) pela aplicação ou outras classes. Uma classe encapsula atributos e métodos, ocultando os detalhes de implementação dos objetos. Como um dos princípios do desenvolvimento orientado a objetos, o encapsulamento Determina que a implementação de um objeto somente deve ser acessada através de uma interface visível e bem definida. Programação Orientada a Objeto em Java Exemplo AULA 1: APRESENTAÇÃO DA DISCIPLINAProgramação Orientada a Objeto em Java 1 Como não temos restrição sobre o atributo Idade, a aplicação poderá realizar um acesso direto ao atributo; 2 Na aplicação foi realizado um acesso direto ao atributo, sem o uso de um método de acesso (Setter), e o valor atribuído não é válido porque uma pessoa não pode ter idade negativa; 3 Acesso direto aos atributos de uma classe não permitem que sejam realizadas críticas ao valor antes da atribuição, fazendo com que o valor atribuído diretamente (acesso direto) não tenha qualquer tipo de validação. Encapsulamento • Uma boa prática de POO é não permitir que os atributos definidos em uma classe seja acessados diretamente a partir de outra classe – Os atributos só serão alterados por operações do próprio o objeto • Vantagens – Maior consistência no estado interno, pois evita alterações indevidas – Mais fácil de manter – Segurança Encapsulamento • Código dentro de métodos está encapsulado – Não é possível acessar o interior de um método Obs.: Em Java, métodos e atributos podem ter seu nível de acesso controlado através de modificadores de acesso Tipos de Encapsulamento Visibilidade Public: Uma classe definida como public pode ser acessada por qualquer classe ou aplicação, sem restrições. Seus membros são igualmente acessíveis (visíveis) por qualquer outra classe ou aplicação. Determina o nível menos restritivo de acesso e visibilidade aos membros (atributos e métodos) de uma classe; Visibilidade Private: Um membro definido como privado só pode ser acessado por membros da própria classe, ou seja, apenas métodos existentes na própria classe poderão ter acesso (visibilidade) aos atributos e métodos definidos como private. É o nível com maior restrição, pois nem mesmo subclasses dessa classe terão visibilidade sobre esses membros; Visibilidade Protected: Um membro definido como protegido pode ser acessado apenas por membros da própria classe, das suas subclasses e por outras classes ou aplicações que estejam no mesmo pacote (package); Visibilidade Default (padrão, omissão): Quando não é usado um modificador de encapsulamento, a visibilidade é dita padrão e os membros têm visibilidade, ou seja, só podem ser acessados por classes e aplicações que estejam no mesmo pacote. Exemplos Membros públicos: é a forma normal para métodos de acesso (Setters e Getters). Exemplos Membros com visibilidade padrão: devemos evitar o uso do acesso padrão, para que tenhamos sempre a visibilidade definida. Exemplos Membros privados: é a forma normal para os atributos de classe que não terá subclasses, mas não é adequada para os métodos de acesso (Setters e Getters). Exemplos Membros protegidos: é a forma normal para os atributos de classe que terão subclasses, mas também não é adequada para os métodos de acesso (Setters e Getters). Sistemas Digitais Bibliografia Básica FURGERI, Sérgio. Java 8 Ensino Didático: Desenvolvimento e Implementação de Aplicações. 1ª Ed.. São Paulo: Érica, 2015. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519340/ MACHADO, Rodrigo Prestes; FRANCO, Márcia Hafele Islabão; BERGANOLLI, Silva de Castro. Desenvolvimento de Software III: programação de sistemas web orientada a objetos em Java.. 1ª Ed.. Porto Alegre: Bookman, 2016. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788582603710/ MANZANO, José Augusto N. G.; COSTA JR., Roberto A. Programação de Computadores com Java. 1ª Ed.. São Paulo: Saraiva, 2014. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519494/ Programação Orientada a Objeto em Java Sistemas Digitais Bibliografia Complementar Deitel, Paul; Deitel, Harvey. Java: Como Programar. 10ª Ed.. São Paulo: Pearson, 2016. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Loader/39590/pdf FELIX, Rafael (Organizador). Programação Orientada a Objetos. 1ª Ed.. São Paulo: Pearson, 2017. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Loader/128217/pdf Horstmann, Cay S.; Cornell, Gary. Core Java. 1ª Ed.. São Paulo: Pearson, 2013. 1. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Loader/1238/pdf Santos, Fabiano G. Programação I. 1ª Ed.. Rio de Janeiro: SESES, 2017. Disponível em: https://repositoriov2.azurewebsites.net/api/objetos/efetuaDownload/2fb97fbdc0a 44b95bb14aa9b994acb62 SCHILDT, Herbert. Java para Iniciantes. 6ª Ed.. Porto Alegre: Bookman, 2015. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788582603376/ Programação Orientada a Objeto em Java https://plataforma.bvirtual.com.br/Leitor/Loader/39590/pdf
Compartilhar