Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação a Orientação a Objetos Prof. Ramon Pontes Vantagens da OO Organização e pouca escrita Concentração de responsabilidades Encapsular a lógica de negócio Modularização Criação de tipos e referências em Java Considere um sistema bancário. Qual seria a entidade mais importante desse sistema ??? CONTA! Características de uma conta O que toda conta tem e é importante para nós? Atributos Número da conta Nome do Dono da Conta Saldo Limite, etc.... Comportamentos de uma Conta O que toda conta faz e é importante para nós? Isto é, o que gostaríamos de “pedir à conta"? Métodos Sacar uma quantidade X Depositar uma quantidade X Imprimir o nome do Dono da Conta Transferir uma quantidade X para outra conta Y, etc... Iniciando o projeto.... Com isso temos o projeto conta bancária... Mas como acessar seu saldo ? Antes é necessário construir uma conta para poder acessar o que ela tem (Atributos) e pedi a ela que faça alguma coisa (Métodos). Continuação Ao projeto da conta, isto é, a definição da conta, damos o nome de classe. Ao que podemos construir a partir desse projeto, as contas de verdade, damos o nome de objetos. A palavra classe vem da taxonomia da biologia. Todos os seres vivos de uma mesma classe biológica têm uma série de atributos e comportamentos em comum, mas não são iguais, podem variar nos valores desses atributos e como realizam esses comportamentos(Métodos). Uma classe em Java class Conta { int numero; String dono; double saldo; double limite; // .. } OBS.: String é uma classe em Java. Atributos de Conta, todo objeto criado a partir de Conta terão esses atributos... Criando e usando um objeto Para criar (construir, instanciar) uma Conta, basta usar a palavra chave new. Ex.: class Programa { public static void main(String[] args) { new Conta(); } } Bem, o código acima cria um objeto do tipo Conta, mas como acessar esse objeto que foi criado? Precisamos ter alguma forma de nos referenciarmos a esse objeto. Precisamos de uma variável! Continuação... class Programa { public static void main(String[] args) { Conta minhaConta; minhaConta = new Conta(); } } Através da variável minhaConta, agora, podemos acessar o objeto recém criado para alterar seu dono, seu saldo, etc Continuação... class Programa { public static void main(String[] args) { Conta minhaConta; minhaConta = new Conta(); minhaConta.dono = "Duke"; minhaConta.saldo = 1000.0; System.out.println("Saldo atual: " + minhaConta.saldo); } } É importante fixar que o ponto foi utilizado para acessar algo em minhaConta. Agora, minhaConta pertence ao Duke, e tem saldo de mil reais. Métodos Dentro da classe, também declararemos o que cada conta faz e como isto é feito, ou seja os comportamentos que cada classe tem. Queremos criar um método que saca uma determinada quantidade e não devolve nenhuma informação para quem acionar esse método... Continuação... class Conta { double salario; double saldo; // ... outros atributos ... void saca(double quantidade) { this.saldo = this.saldo - quantidade; } } A palavra chave void diz que, quando você pedir para a conta sacar uma quantia, nenhuma informação será enviada de volta a quem pediu. Argumento de método ou parâmetro. Usamos o this para informar que estamos acessando um atributo e não uma variável. Continuação... Depositando na conta.... class { // ... outros atributos e métodos ... void deposita(double quantidade) { this.saldo += quantidade; } } Agora vamos testar os métodos criados na classe conta... Métodos com retorno Todo método tem um tipo de retorno Quando não retornar nada o tipo é VOID Acessando objetos por referência Associar uma variável a um objeto é uma garantia que essa variável pode acessar o objeto por referência. Ex.: Tenho uma variável c1 do tipo Conta Exercício 1) Crie uma Classe Conta com os mesmos atributos do exemplo anterior, com seus métodos depositar e sacar. Em seguida crie a classe testaConta instancie um objeto do tipo Conta e altere os valores da conta ex.: nome, saldo, número da conta,em seguida realize operações de saque e depósito e no final imprima seus atributos. Exercício 2) Crie uma classe chamada Carro com os seguintes atributos cor, modelo, velocidadeAtual e velocidadeMaxima. Adicione a essa classe 3 métodos, ligar (informa que o carro está ligado), acelerar e mudarMacha. Depois crie uma classe TestaCarro, instancie variáveis que referencia a classe carro e atribua valor a seus atributos. Tente também ligar o carro, acelerar e mudar a macha usando os métodos implementados.
Compartilhar