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

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Programação em Java Prof. Maurício Braga
Introdução a Programação Orientada a Objetos
Construção de Algoritmos 2
Estruturas de Repetição
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS MÉTODOS – UMA VISÃO MAIS APROFUNDADA Prof. Thiago Pereira Rique
Prof. Thiago Pereira Rique
Interação entre objetos
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Encapsulamento e Classificação
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Programação Básica em Java
Object Pascal e Delphi Programas e Units.
Estudo de Caso 1: UNIX e LINUX
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Capítulo 9 Herança 1.
Programação Baseada em Objectos Desenho de TAD
Fases do desenvolvimento de software UML
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Estrutura de decisão e repetição em JAVA
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Apontadores ou Ponteiros
Classes, Objetos e Encapsulamento
Programação Orientada a Objetos com Java
Aula prática 13 Orientação a Objetos – C++ Parte 1
Linguagens de Programação
PROGRAMAÇÃO ESTRUTURADA II
JAVA Orientação a Objetos
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Funções Universidade Federal de Ouro Preto - UFOP
Programação Orientada à Objetos
Programação I Aula 2 (Métodos)
Entendendo as definições de classe
EXERCÍCIOS PARA GUARDA-REDES
Linguagem de Programação JAVA
7 Arrays.
Tipos Abstratos de Dados
Classes, Objetos, Atributos e Métodos JAVA
1 2 Observa ilustração. Cria um texto. Observa ilustração.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Programação orientada a objectos em C++
Programação Orientada à Objetos
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Listas Simplesmente Encadeadas
Wagner Santos C. de Jesus
Programação Orientada a Objetos - Java
Implementação Orientada a Objetos – Aula 03
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Linguagens de Programação
Introdução a Programação Orientada a Objetos
Modificadores Programação II.
Módulo II Capítulo 1: Orientação a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

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

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

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);

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( )

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

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

Exemplo Chaves Atributos Métodos públicos

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 “{ }”

Exemplo

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

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!

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.

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

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.

Alterando o programa Chamando método com parâmetro

Variáveis de instância x Variá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;

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: set e get;

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;

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

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

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

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.

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.

Alterando o método Set

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( )

Exemplo de saída// Alterar exemplo?

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!!!

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.

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( );

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

Usando classe com construtor

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( )

Exemplo de saída

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

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

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

Saída jGrasp