1 / 38

Classes e objetos

Classes e objetos. P. O. O. Prof. Grace. Programação Orientada a Objetos. Programas realizam suas tarefas usando classes e objetos (módulos reutilizáveis); Utiliza conceitos de: Encapsulamento; Herança; Polimorfismo; Sobrecarga; Engloba a programação estruturada. Classes e Objetos.

happy
Download Presentation

Classes e objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Classes e objetos P. O. O. Prof. Grace

  2. Programação Orientada a Objetos • Programas realizam suas tarefas usando classes e objetos (módulos reutilizáveis); • Utiliza conceitos de: • Encapsulamento; • Herança; • Polimorfismo; • Sobrecarga; • Engloba a programação estruturada

  3. Classes e Objetos Objeto Concreto Ocorrência real Instância (Produto) Classe Abstração Molde (Projeto) X

  4. Composição de uma Classe • Características: implementados por meio dos atributos (variáveis); • Comportamento: implementados por meio de métodos (operações/ funções);

  5. Exemplo: Conta bancária • Classe: Conta bancária • Atributos (variáveis de instância) • Número da conta • Saldo • Titular • Métodos (tarefas) • Depósito( ) • Saque( ) • Ver Saldo( )

  6. Exemplo: Círculo • Classe: Círculo • Atributos (variáveis de instância) • Raio • Métodos (tarefas) • Alterar/ informar raio • Calcular diâmetro • Calcular área • Calcular circunferência • Exibir Dados

  7. Definindo uma Classe public class nome_classe { // atributos // métodos } • Armazenar em um arquivo que tenha o mesmo nome da classe • Extensão do arquivo => .java

  8. Chaves Exemplo Atributos Métodos públicos

  9. Métodos • Cabeçalho do método composto por: • Modificador de acesso (public, private) • Tipo de retorno (void, int, double, etc.) • Nome do método • Parênteses (argumentos, se tiver) • Corpo do método deve ser descrito entre chaves “{ }”

  10. Exemplo

  11. Cuidado!!! • Declarar mais de uma classepublic no mesmo arquivo é um erro de compilação. • Porém, podemos ter vários métodospublic declarados em uma mesma classe

  12. Como testar uma classe? • Classe Circulo não tem método main • Execução de programa em Java: programas (ou aplicativos) com método main • Se tentarmos executar uma classe? • ERRO!

  13. Programas usando classes • new: cria instância de classe (objeto) • new + nome da classe + parênteses. • Chamando um método: • Nome de objeto + ponto (.) + nome do método + parênteses.

  14. Instancia objeto c do tipo Circulo Chama método exibeDados do objeto c Programa usando classe Circulo

  15. Métodos com parâmetros • Informações adicionais são passadas para o método por meio de parâmetros • Neste exemplo, usamos o valor do parâmetro r para alterarmos o atributo raio.

  16. Chamando método com parâmetro Alterando o programa

  17. Variáveis de instância xVariáveis locais • Atributos ou variáveis de instância: • Variáveis declaradas na declaração de classe; • Cada objeto (instância) da classe tem uma instância separada da variável; • Existe enquanto o objeto existir: antes e depois de chamadas aos métodos; • Variáveis locais: • Declaradas no corpo do método; • Só podem ser utilizadas nesse método; • Só existem durante a execução do método;

  18. Exemplo: Classe Circulo • Variável de instância: raio; • Cada objeto do tipo Circulo tem seu próprio raio; • Pela prática de encapsulamento de O.O., atributos são privados (somente o próprio objeto pode vê-lo); • Métodos públicos são interfaces para que programas acessem atributos privados dos objetos; • Para alterar ou ler seu valor, criamos métodos públicos: sete get;

  19. Relembrando: Encapsulamento • Uma das principais características da P. O. O.; • Envolve dados e funções numa única estrutura (objeto); • Permite ocultação de informações (visibilidade: modificadores de acesso); • Comunicação por meio de uma interface pública; • Ex.: Conta bancária; Circulo;

  20. Encapsulamento Comunicação por meio de interfaces: públicas Atributos encapsulados: privados

  21. Visualização de métodos e atributos • Modificadores de acesso • Public: em geral, métodos públicos de interface com cliente; • Private: métodos ou atributos não acessíveis fora da classe; Recomendação: todas as variáveis de instância sejam private

  22. Variável de instância Método set (altera) Método get (informa) Métodos Set e Get

  23. Boa prática de programação • Listar os atributos de uma classe antes de declarar métodos da classe: ao ler o código, você vê os nomes e tipos das variáveis antes de usá-los nos métodos. • É possível listar os campos da classe em qualquer lugar na classe (fora dos métodos), mas sua dispersão tende a resultar em um código de difícil leitura.

  24. Importância do encapsulamento Porque encapsular e ocultar? • Criamos classes para “clientes” (reuso) • Capacidade de usar sem conhecer detalhes internos • Alterações na implementação não afetam cliente • Garantia de acesso seguro aos dados Posso ter círculo com raio negativo? Supondo que não, devemos validar no método set.

  25. Alterando o método Set

  26. Exercício: Altere a classe Circulo • Atributo (variáveis de instância) • Raio • Métodos (tarefas) • Alterar/ informar raio • Calcular diâmetro • Calcular área • Calcular circunferência • Exibir Dados: informa diâmetro, área e circunferência. • Obs.: Utilize a classe Math • Math.PI • Math.pow( )

  27. Exemplo de saída// Alterar exemplo?

  28. Inicializando variáveis de instância Como inicializar atributos de um novo objeto? • Não inicializa: valor padrão (default) • Cria objeto (new) depois usa métodos set • Por meio de construtor!!!

  29. Construtor • O que é? • Método especial que cria ou instancia novos objetos assegurando seu estado consistente; • Objetivo: Inicializar variáveis de instância; • Tem o mesmo nome da classe; Boa prática. Inicialize as variáveis de instância de uma classe no seu construtor.

  30. Construtores Java • O Java requer um construtor para cada classe. • O Java fornecerá um construtor sem argumentos-padrão, caso nenhum seja fornecido. • Chamados quando a palavra-chave new precede o nome da classe. Ex.: Scanner entrada = new Scanner(System.in); Circulo c = new Circulo( );

  31. Não apresenta tipo de retorno Argumento para inicializar atributo Classe Circulo com construtor

  32. Usando classe com construtor

  33. Exercício: Altere a classe Circulo • Atributo (variáveis de instância) • Raio • Métodos (tarefas) • Construtor: inicializa raio • Alterar/ informar raio • Calcular diâmetro • Calcular área • Calcular circunferência • Exibir Dados: informa diâmetro, área e circunferência. • Obs.: Utilize a classe Math • Math.PI • Math.pow( )

  34. Exemplo de saída

  35. Inicio da declaração da classe Circulo Aloca memória inicializa atributos do obj. Altera atributo com segurança (encapsulamento) Acessa valor armazenado no atributo Classe Circulo.java Atributos Métodos

  36. Métodos sem parâmetros devolve o diâmetro circunferência Método sem parâmetros e sem valor devolvido devolve a área fim da declaração da classe Classe Circulo.java (cont.)

  37. Uso da classe declarada • Programa java (possui método main) • Instancia um círculo c de raio 5 e exibe seus dados • Altera o raio de c para 15 e exibe seus dados novamente

  38. Saída jGrasp

More Related