PROGRAMAÇÃO I Classes Objetos Atributos Construtores Métodos.

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Programação orientada a objetos
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Construção de Algoritmos 2
Paulo Marques Hernâni Pedroso
Linguagem de Programação VI Tipos de Dados Compostos - structs
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
03/08/2011 Professor Leomir J. Borba- –
Prof. Thiago Pereira Rique
Interação entre objetos
Revisando aula passada....
Introdução a Programação Renata Freire
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Programação Básica em Java
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Anatomia de uma classe Nome:
LINGUAGEM C.
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem de Programação II
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Membros estáticos.
Orientação a Objetos Classes
Aula 4 Nomes, Vinculações, Tipos e Escopos
Capítulo 9 Herança 1.
Classes & Objectos em JAVA5
Classes e objetos Arrays e Sobrecarga
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
O Portal do Estudante de Computação
Análise de Casos de Uso Alexandre Motnteiro.
Programação I Caderno de Exercícios Nome.
Como controlar o caixa Supermercados.
Aula prática 13 Orientação a Objetos – C++ Parte 1
Estrutura de dados, pseudocódigo
Programação Orientada à Objetos
Programação I Aula 2 (Métodos)
Estrutura de Dados Avançada
Entendendo as definições de classe
Tipos Estruturados de Dados
Classes, Objetos, Atributos e Métodos JAVA
Financeiro – Despesas Fixas e Variáveis
Financeiro – Despesas Fixas e Variáveis
PROGRAMAÇÃO I Dados Tipos de dados Variáveis Constantes Expressões
Capítulo 5 Garbage Collector.
Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real 
Programação Orientada a Objetos Curso de Engenharia da Computação Parte 03 – Conceitos Básicos III Prof. Fabricio Mota Oliveira
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Financeiro – Contas a Receber
Prof. Gilberto Irajá Müller
Aula Prática 4 Monitoria IP/CC (~if669).
Programação I Aula 1 Prof. Gilberto Irajá Müller Última atualização 2/3/2009.
Programação I Aula 11 (Arrays de Objetos) Prof. Gilberto Irajá Müller Última atualização 27/5/2009.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
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
Adriano A. Ribeiro. Português Estruturado Apesar do Português Estruturado ser uma linguagem bastante simplificada, ela possui todos os elementos básicos.
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.
Transcrição da apresentação:

PROGRAMAÇÃO I Classes Objetos Atributos Construtores Métodos

ESTADO E COMPORTAMENTO OBJETOS DO MUNDO REAL Quantos objetos? Quantas classes? Quais classes? Carro 2 1 3 Pessoa Estado (dados de cada objeto): 6 - marca - ligado ou desligado - volume atual - estação sintonizada + liga + desliga + aumenta volume + seleciona estação - nome - peso - altura - endereço - renda mensal + muda endereço + altera renda mensal + faz exame médico 5 - placa - consumo médio - nível atual do tanque 4 Comportamentos: Rádio + anda + abastece + verifica nível do tanque 8 7 9 Unisinos – Prog I 2

Em Java atributos métodos O estado dos objetos é representado pelos seus atributos O comportamento dos objetos é descrito pelos seus métodos

São as propriedades dos objetos de uma determinada classe. O que são atributos? São as propriedades dos objetos de uma determinada classe. Exemplo: todos os objetos da classe Carro têm os mesmos atributos, com valores diferentes Consumo médio nível do tanque 45 Nível do tanque 15 40 Consumo médio Nível do tanque 12 45 Consumo médio Nível do tanque 18 55

selecionar uma estação O que é um método? É um serviço oferecido pelos objetos de uma determinada classe. selecionar uma estação Exemplo:

Instanciar um objeto da classe Carro O que é um construtor? É um serviço especial oferecido pela classe para configurar (inicializar com valores) os atributos dos objetos quando estes são instanciados. Instanciar um objeto da classe Carro Exemplo: Consumo médio Nível do tanque Clique aqui 15 40

Objetos de software No paradigma orientado a objetos, tudo são objetos O aluno José Silva é um objeto A aluna Maria Rodrigues é outro objeto A data de nascimento (24/05/1986) é um objeto A conta bancaria de número 1457-3 é um objeto Objetos que compartilham certas características formam uma classe Cada objeto é dito uma instância da sua classe

Representação na linguagem UML (Unified Modeling Language) Diagrama de Classe Responsabilidades de uma classe: Pessoa - nome :String - idade :int +Pessoa (n:String,i: int ) +fazAniversario ( ) +exibeDados ( ) Atributos, campos ou variáveis de instância Conhecimento Construtor e Métodos Comportamento é uma instância de é uma instância de Diagramas de objetos Pessoa nome José Silva idade 25 Pessoa nome Maria Reis idade 19

Funcionario Funcionario Representação na linguagem UML Classe Responsabilidades de uma classe: Funcionario -nome -salario -numeroDeDependentes +mudaSalario +exibeDados +aumentaSalario +insereDependente Atributos, campos ou variáveis de instância Conhecimento Atributos e métodos são membros de uma classe Métodos ou funções Comportamento Dois objetos da classe Funcionario: Funcionario nome José Silva salario 2500.00 numeroDe 2 Dependentes Funcionario nome Anna Leme salario 3235.50 numeroDe 0 Dependentes Unisinos - Prof. Aníbal

ContaBancaria ContaBancaria Exercício 1.1. Usando a representação UML acima, modele a classe ContaBancaria definindo alguns membros (atributos e métodos) e alguns exemplos de instâncias. Pense num banco que possui diversas contas. Cada objeto conta deve ter um número e um saldo (valor em dinheiro que ela tem no momento). As operações que uma conta pode sofrer são retirada, depósito e consulta ao saldo. Classe Ex. de instâncias ContaBancaria -numero -saldo +deposita +retira +consultaSaldo ContaBancaria numero 123 saldo 500.00 ContaBancaria numero 065 saldo 1250.35 Unisinos - ProgI 10

nível do tanque e deve ter uma forma de verificar este nível. Exercício 1.2. Repita o exercício anterior para modelar uma classe que simula (de forma bem simplificada) objetos do tipo Carro. Cada objeto carro tem um certo consumo médio de combustível (medido em km/litro), uma certa quantidade de combustível no tanque e, para identificá-lo, uma placa. O carro gasta combustível quando anda uma certa distância. Eventualmente, ele abastece para aumentar o nível do tanque e deve ter uma forma de verificar este nível. Classe Ex. de instâncias Carro -placa -consumoMedio -nivelDoTanque +anda +abastece +verificaNivel Carro placa ABC1111 consumoMedio 15.5 nivelDoTanque 47 Carro placa IJU8122 consumoMedio 15.5 nivelDoTanque 35 Unisinos - ProgI 11

Classes em Java Sintaxe: visibilidade class nome da classe { atributos construtor(es) métodos } Exemplo: public class Pessoa{ // atributos private String nome; private int idade; // aqui colocaremos o(s) construtor(es) // aqui colocaremos os métodos }

Servem para dar nomes a classes, atributos, métodos etc. Identificadores Servem para dar nomes a classes, atributos, métodos etc. Um identificador é composto por qualquer quantidade de letras, dígitos e os sinais _ e $ O primeiro caractére deve ser letra ou _ ou $ Não pode haver brancos entre os caracteres Maiúsculas são diferenciadas de minúsculas Exemplos: cor calculaImpostoDeRenda _nomeAluno $nota_1 1Autor nome Do Cliente coordenada-X Estes são inválidos! Por quê? Palavras-chave ou reservadas Termos da linguagem Java: class, private, int, double e outras Unisinos - ProgI 13

São textos explicativos que não afetam o processamento da classe. Comentários São textos explicativos que não afetam o processamento da classe. Três tipos: /** texto do comentário */ /* texto do comentário */ // texto do comentário Visibilidade dos membros de uma classe Classes não vivem em isolamento - Grau de privacidade das classes e de seus membros é dado pelos modificadores de controle de acesso: public – indica que o membro é acessível de qualquer outra classe private – membro só é reconhecido pela própria classe Importante Todo membro de uma classe é sempre acessível dentro da própria classe Atributos devem ser sempre PRIVADOS Unisinos - ProgI 14

Exercício 1.3. Escreva a classe ContaBancaria em Java, dando tipos aos atributos e comentários para indicar o que cada método faz. public class ContaBancaria{ private int numero; private double saldo; /** Realiza um depósito na conta */ /** Faz um saque da conta */ /** Exibe na tela o valor atual do saldo*/ } Exercício 1.4. Repita o exercício anterior para a classe Carro. public class Carro{ private double consumoMedio; private int nivelDoTanque; /** Ao se deslocar, o carro consome combustível*/ /** Adiciona combustível no tanque*/ /** Exibe quant. atual de combustível no tanque*/ } Unisinos - ProgI 15

Algumas observações importantes A classe é um modelo para criar objetos daquele tipo Cada objeto terá valores individuais para cada atributo (campo) definidos pela classe. Atributos poderão ter seus valores alterados ao longo do tempo Atributos, também são chamados de variáveis de instância O conjunto de valores dos atributos de um objeto descrevem o estado atual daquele objeto. Circulo raio 5.0 3.5 Unisinos - ProgI 16

declarou nas classes ContaBancaria e Carro. Exercício 1.5. Dê exemplos de valores válidos para cada atributo que você declarou nas classes ContaBancaria e Carro. Exercício 1.6. Identifique cada termo da lista seguinte dizendo se é nome de classe, de atributo, de método ou se é um valor de atributo (neste último, informar o tipo): “quadrado” data Data numeroDeLados movePolígono 3 “hexágono” 4.56 exibe medidaDoLado Unisinos - ProgI 17

Criando obj Criando objetos (instanciação) A criação de um novo objeto em Java é feita em três etapas: 1ª. – declarar uma variável cujo tipo é a classe da qual o objeto será uma instância 2ª. – criar uma nova instância para o objeto, usando o operador new, que aloca espaço de memória para os atributos do novo objeto 3ª. – atribuir o endereço do objeto à variável objeto Ex: Funcionario f1; //Etapa 1 f1 = new Funcionario(); // Etapas 2 e 3 Na memória: f1 null Funcionario nome null salario 0.0 numeroDe Dependentes 0 Variável objeto ou referência Atributos ou variáveis de instância Unisinos - ProgI

Pessoa p1 = new Pessoa(“Maria”, 24); Declara uma variável cujo tipo é a classe do objeto sendo instanciado Criando objetos (instanciação): operador new Atribui o endereço do objeto para a variável Clique para ver o primeiro passo Clique para ver o terceiro passo Aloca espaço de memória para o novo objeto e chama o construtor para configurar os valores dos atributos. Clique para ver o segundo passo Pessoa p1 = new Pessoa(“Maria”, 24); na Memória na Memória na Memória p1 Variável objeto ou referência Pessoa nome Maria idade 24 //

Chamada (invocação) de método Após criado o novo objeto (referenciado por p1) podemos aplicar métodos da classe Pessoa a essa pessoa: Memória Pessoa nome Maria idade 24 p1 chama o método que mostra na tela os valores dos atributos do objeto referenciado por p1 Tela Maria 24 p1.exibeDados ( );

classes ContaBancaria e Carro. Exercício 1.7. Declare mais duas variáveis objeto para armazenar instâncias da classe Funcionario. Funcionario f3, f4; Exercício 1.8. Agora, complete a instanciação dos dois objetos declarados no exercício anterior. f3 = new Funcionario(); f4 = new Funcionario(); Exercício 1.9. Escreva as instruções para instanciar alguns objetos das classes ContaBancaria e Carro. ContaBancaria c1 = new ContaBancaria(); ContaBancaria c2 = new ContaBancaria(); Carro car1, car2; car1 = new Carro(); car2 = new Carro(); Unisinos - Prof. Aníbal