JAVA Orientação a Objetos Sun Campus Ambassador Exercício: Partindo dos conceitos aplicados sobre classes. Defina uma classe referente a um Funcionário. Classe Funcionário: Atributos Métodos Funcionário nome: String depto: String salario: double rg: String cpf: String trabalha ( ) recebe( ) Classe Funcionário: public class Funcionario { String nome, depto, rg, cpf; double salario; void trabalha(){ if (depto == "Adm"){ System.out.println("Trabalha muito!"); } else if (depto == "Contas"){ System.out.println("Trabalha pouco!"); } else { System.out.println("Trabalha muito pouco!"); } } void recebe(){ System.out.println("O salário é de: " + salario); } } Modificadores de Acesso Há quatro diferentes tipos de modificadores de acesso: -public -private -protected -default public, protected e private são escritos explicitamente na instrução para indicar o tipo de acesso. default não deve ser escrito. Acesso Padrão (Default) Especifica que os elementos da classe são acessíveis somente aos métodos internos da classe e às suas subclasses Não há palavra-chave para o modificador default; sendo aplicado na ausência de um modificador de acesso Exemplo (Default) public class StudentRecord { int name; String getName(){ return name; } } Acesso Público (public) Especifica que os elementos da classe são acessíveis seja internamente e externamente à classe Qualquer objeto que interage com a classe pode ter acesso aos elementos públicos da classe Palavra-chave: public Exemplo (public) public class StudentRecord { public int name; public String getName(){ return name; } } Acesso Protegido (Protected) Especifica que somente classes no mesmo pacote podem ter acesso aos atributos e métodos da classe Palavra-chave: protected Exemplo (protected) public class StudentRecord { protected intname; protected String getName(){ return name; } } Acesso Particular (private) Especifica que os elementos da classe são acessíveis apenas pela classe que os definiram Palavra-chave: private Exemplo (private) public class StudentRecord { private intname; private String getName(){ return name; } } Encapsulamento Na OO, encapsulamento é o mecanismo utilizado para disponibilizar métodos que operam sobre os dados e que protegem o acesso direto indevido aos atributos de uma instância fora da classe onde estes foram declarados. Esta proteção consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe e fornecendo métodos que alteram os valores destes atributos de alguma forma. O encapsulamento ajuda a prevenir o problema de interferência externa indevida sobre os dados de um objeto, como objetos que possam alterar os dados de outros objetos indevidamente. Métodos de Acesso (get) Métodos de acesso são usados para ler valores de atributos de objeto ou de classe. O método de acesso recebe o nome de get<NomeDoAtributo> Ele retorna um valor. Métodos de Acesso (get) public class StudentRecord { private String name; : : public String getName() { return name; } } Métodos Modificadores (set) Para que outros objetos possam modificar os nossos dados, disponibilizamos métodos que possam gravar ou modificar os valores dos atributos de objeto ou de classe. Chamamos a estes métodos modificadores. Este método é escrito como: set<NomeDoAtributoDeObjeto>. Métodos de Acesso (set) public class StudentRecord { private String name; : : public void setName(String temp) { name = temp; } } JAVA Orientação a Objetos Sun Campus Ambassador