Você está na página 1de 3

Euller Miranda Cardoso

Programao Orientada a Objetos I

1. Sem consultar o material responda: O que voc entende por


encapsulamento? Para que serve? E como aplicar?
O encapsulamento a incluso dentro de um objeto de programa de todos os
recursos necessrios para o objeto funcionar, ou seja, os mtodos e os dados.
Serve para separar o programa em parte e tornar cada uma delas o mais insolado
possvel, tornando-o mais flexvel.

2. Antes de rever os conceitos, para que servem os modificadores de acesso:


public, private e package
public: garante que o atributo ou mtodo da classe seja acessado ou executado
a partir de qualquer outra classe.
private: pode ser acessado, modificado ou executado apenas por mtodos da
mesma classe, sendo totalmente oculto ao programador (ou outros objetos do
sistema) que for usar instncias dessa classe.
Package ou Friendly: no so palavras reservadas de modificadores de
acesso. Os atributos e mtodos so chamados de Package ou Friendly, quando
no possuem modificadores, ou seja, so os atributos e mtodos declarados
sem modificadores. Isso significa que podem ser acessados por todas as
classes pertencentes a um mesmo pacote (pacotes so pastas onde esto
inseridos os arquivos das classes, para ajudar a organiz-las. Falaremos sobre
pacotes em aulas futuras).

3. Pense e reflita o que faria voc decidir se um mtodo deve ser usado como
privado?
Evitar alteraes indevidas realizadas por usurios externos, que venha a gerar
inconsistncia

4. Crie classes chamadas Usuario e Hacker. Hacker possui o mtodo main(). A


classe Usuario possui os atributos login e senha. Inicialmente, no use
encapsulamento e faa com que no mtodo main() de Hacker seja possvel
modificar as informaes (login,senha), inicialmente definidas, de um objeto
da classe Usurio que voc mesmo criar. Em seguida, aplique
encapsulamento e verifique que Hacker ter suas tentativas frustradas.
package principal;

public class Hacker extends Usuario{

public static void main(String[] args) {

Usuario usuario = new Usuario();

usuario.login = "login alterado";


usuario.senha = "senha alterada";
}
}
package principal;

public class Usuario {

String login;
String senha;
}

(Parte 2)
package principal;

public class Hacker extends Usuario{

public static void main(String[] args) {

Usuario usuario = new Usuario();

usuario.login = "login alterado";


usuario.senha = "senha alterada";
}
}
package principal;

public class Usuario {

private String login;


private String senha;
}