uma instância da classe. Os dados e os métodos são referidos como membros da classe. Os dados associados com um objecto da classe denominam-se variáveis de instância. 8
instância de um objecto através da utilização da palavra reservada new. • Pode parecer um método mas não é . • Não tem retorno e tem o mesmo nome que a classe Scanner teclado = new Scanner(System.in); 18
args) { Pessoa p = new Pessoa("joao"); p.nome = "antonio"; // FORMA MENOS CORRECTA DE ACESSO String nome1 = p.nome; // FORMA MAIS CORRECTA DE ACESSO String nome2 = p.getNome(); } } public class Pessoa { public String nome; public Pessoa( String nome ){ this.nome = nome; } public String getNome() { return this.nome; } }
args) { Pessoa p = new Pessoa("joao"); p.nome = "antonio"; // FORMA MENOS CORRECTA DE ACESSO String nome1 = p.nome; // FORMA MAIS CORRECTA DE ACESSO String nome2 = p.getNome(); } } public class Pessoa { public String nome; public Pessoa( String nome ){ this.nome = nome; } public String getNome() { return this.nome; } }
args) { Pessoa p = new Pessoa("joao"); // ERRO DE COMPILACAO; p.nome = "antonio"; // ERRO DE COMPILACAO; String nome1 = p.nome; // FORMA MAIS CORRECTA DE ACESSO String nome2 = p.getNome(); } } public class Pessoa { private String nome; public Pessoa( String nome ){ this.nome = nome; } public String getNome() { return this.nome; } }
args) { Pessoa p = new Pessoa("joao"); // ERRO DE COMPILACAO; p.nome = "antonio"; // ERRO DE COMPILACAO; String nome1 = p.nome; // FORMA MAIS CORRECTA DE ACESSO String nome2 = p.getNome(); } } public class Pessoa { private String nome; public Pessoa( String nome ){ this.nome = nome; } public String getNome() { return this.nome; } }
uma “cópia” desse campo ao longo de todas as instâncias dessa classe. Na maioria dos casos é má prática, a não ser que se utilizem como valores constantes. Métodos estáticos de uma classe - estão associados a uma classe e não são específicos de nenhuma instância de um objecto. 27
static só é utilizada na definição de métodos estáticos (utilitários). Quando se define um tipo de dados (classe) as suas variáveis de instância usualmente têm visibilidade privada (evitando alterações sem permissões de classes externas) sendo apenas acessíveis através de métodos públicos que retornam (ou afectam) o seu valor. Retornar e afectar os valores através dos métodos (em vez de afectar directamente nas variáveis) permite a existência de um mecanismo de segurança e controlo dos dados de cada instância. 34
de instância x e y do tipo int e um método getX() e método getY() que retorna um inteiro com os valores passados no construtor. Crie um programa de teste onde instancia duas instâncias deste tipo e imprima os seus x e y correspondentes na consola de comandos. 35