Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Classes e Objetos em Java Classe em Java • Uma classe é sempre declarada com a palavra reservada class. • O nome da classe não pode conter espaços, deve sempre iniciar por uma letra. • Os caracteres _ e $ são considerados letras.• Os caracteres _ e $ são considerados letras. • O conteúdo das classes é delimitado por chaves { }. • A indentação é importante para a legibilidade do código. • Convenção de nomes: inicia com maiúsculas a cada palavra: � Aluno, RegistroAluno, ContaCorrente, etc. Classe em Java • Estrutura da classe Java modificador-acesso class NomeClasse { //atributos (campos da classe) ...... //métodos (funções ou operações da classe) ... } Classe em Java package classes; public class ContaBancaria { private int numero; //Atributos private float saldo; public ContaBancaria (int num, float sld){ numero = num; saldo = sld; }} public void debitar (float valor){ //Método saldo = saldo - valor; } public void creditar (float valor){ saldo = saldo + valor; } public float obterSaldo() { return saldo; } } Classe em Java • Java utiliza herança para criar uma definição de classe. • Ao criar um definição de classe, sempre se utiliza uma definição de classe existente – classe Object. • No exemplo, anterior, a classe Contagem herda• No exemplo, anterior, a classe Contagem herda fragmentos da classe Object existente. • Todas as classes em Java são (direta ou indiretamente) classes originadas a partir de Object. Atributos (campos da classe) • Atributos devem ser declarados dentro do corpo da classe. • Cada atributo (campo) deve ser representado por um tipo de dado primitivo ou por uma classe. • Convenção: começam com a primeira letra da• Convenção: começam com a primeira letra da primeira em palavra em minúsculas, e as iniciais das demais palavras em maiúsculas: � temp, nomeAluno, codigoCliente, etc. • Refletem ações que são efetuadas nos campos da classe, em campos definidos no interior do método e campos passados como parâmetros (argumentos) para o método. • Convenção de nome: começam com a primeira letra da primeira em palavra em minúsculas, e as iniciais Métodos da primeira em palavra em minúsculas, e as iniciais das demais palavras em maiúsculas: � exibirValor, mostrarDados, debitarConta, etc. public void creditar (float valor){ saldo = saldo + valor; } public float obterSaldo() { • Cada método deve ter na sua declaração, um tipo ou classe de retorno, correspondendo ao valor que deve retornar. Métodos tipo de retorno public float obterSaldo() { return saldo; } • Métodos especiais - construtores (constructors) recebem o mesmo nome da classe, não tem tipo de retorno. A classe pode ter mais de um construtor (a ser explicado posteriormente). public ContaBancaria (int num, float sld) {//Construtor numero = num; saldo = sld; } Métodos • Caso o método não retorne nada o tipo de retorno será void, que é um tipo especial que indica nenhum retorno. • Podem ter parâmetros (argumentos) que são variáveis ou objetos que podem ser usados pelos métodos para efetuar suas operações. Caso exista mais de um, os parâmetros são separados por vírgula. public void debitar (float valor){ //Método saldo = saldo - valor; } parâmetros são separados por vírgula. parâmetro do método Métodos • Variáveis declaradas dentro dos métodos não são consideradas campos de classes. • São variáveis locais ao método e somente podem ser referenciadas dentro do método onde está declarada. • À exceção do método main, os demais métodos devem• À exceção do método main, os demais métodos devem ser acionados a partir de instância da classe (objeto) ou diretamente pelo nome da classe, caso seja método do tipo static (a ser visto). Classe e método main • Para que uma classe possa ser executada pela JVM, precisará ter um método main. • A chamada do método main é um exemplo de chamada implícita. • O interpretador Java (JVM) chama esse método para• O interpretador Java (JVM) chama esse método para dar início à execução do programa. • O método main é o ponto de entrada da aplicação, e os comandos serão executados um a um, do inicio ao fim, respeitado os desvios condicionais e laços existentes. Criação (instanciação) de Objetos • Exemplo ContaBancaria objConta; //declara objeto objConta objConta = new ContaBancaria(1, 500); //instancia objeto objConta //o objeto será criado com numero de conta = 1 // e o saldo da conta será 500 objConta.debitar(100); //chamada de execução do método debitar • ou ContaBancaria objC2 = new ContaBancaria(2, 1500); //declara e instancia objeto objC2 Palavra reservada new • A criação e uso de objetos (instâncias de classes) são feitos através da palavra reservada new. • A instância criada com new é associada a uma referência (endereço de memória) onde fica localizada a estrutura do objeto. • Na criação de objeto, utiliza-se o new para uma “chamada de execução” ao método constructor da classe. Instanciando e acionando métodos de objetos da classe ContaBancária • Como você pode observar a classe ContaBancaria não tem método main. Como os métodos desta classe podem ser executados? • Por meio de instâncias (objetos) da classe ContaBancária. Mas, por quem esses objetos sãoContaBancária. Mas, por quem esses objetos são instanciados? • Tipicamente num projeto Java precisamos de uma classe que tenha um método main, por onde a aplicação ou sistema inicia. • Ou ter um servidor de aplicação que acione a aplicação Web. Principal public static void main(String[] args){ ContaBancaria cta1 = new ContaBancaria(1, 500); Instanciando e acionando métodos de objetos da classe ContaBancária ContaBancaria private int numero; private float saldo; public ContaBancaria (int num, float sld) { numero = num; saldo = sld; } public void debitar (float valor){ pacote (package) classespacote (package) classes cta1.debitar(100); float saldoConta = cta1.obterSaldo(); } public void debitar (float valor){ saldo = saldo - valor; } public float obterSaldo(){ return saldo } ContaBancaria.java Principal.java cta1 numero=1 saldo=500 memória de dados do sistema float saldoConta = cta1.obterSaldo(); System.out.println("SALDO CONTA:"+saldoConta)
Compartilhar