Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes Objetos e Classes Jorge Fernandes Outubro de 2003
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Objetos e Classes
Jorge FernandesOutubro de 2003
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Objetos e Classes 1
• Programas são modelos ou abstrações do mundo• Modelos descrevem objetos, mas não são objetos• Modelos em linguagens OO são descritos através de
classes. Uma classe é um modelo. Um modelo complexo pode ser composto por um conjunto de modelos mais simples
• Modelando uma simulação de fluxo de automóveis• Um automóvel em particular é uma instância• PROGRAMA = MODELO DE UMA REALIDADE =
CONJUNTO DE CLASSES• OBJETO = INSTÂNCIA OU SITUAÇÃO
ESPECÍFICA = SISTEMA = PROGRAMA EM EXECUÇÃO
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Sumário da aula
• Objeto: – representação computacional de algo real– Instância– CADA OBJETO apresenta uma condição específica
(ESTADO)– O ESTADO É FORMADO PELOS VÁRIOS ATRIBUTOS OU
CAMPOS (FIELDS) DO OBJETO– TODOS OS OBJETOS DE UMA MESMA CLASSE
POSSUEM OS MESMOS ATRIBUTOS DECLARados– São elementos sobre os quais podem ser realizadas
operações
• Classe:modelo para construção de objeto
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Um diagrama, que descreve um programa Java
• Programa “shapes” contém quatro classes:
• O diagrama é um diagrama de classes
• Setas indicam relação de dependência, das classes circle, triangle e square, com relação a canvas
diagrama de classes
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
O que se vê na tela:
• O programa “bluej” está em execução
• “bluej” (em execução) está analisando o programa “shapes”
• “shapes” não está em execução
• Não existem, por enquanto nenhum objeto das classes canvas, triangle, circle, square
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Criando objetos
• Iniciando o bluej• Abrindo um modelo
(project)• Criando um círculo
– Encontrando um nome para um círculo
– Bancada de objetos (object bench)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Invocando métodos
• Métodos (ou operações) operam sobre objetos
• Objetos respondem à invocação de métodos
• Opções de menu– Várias operações
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Invoque makeVisible()
• Veja o canvas com a representação visual do objeto
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Execute várias operações sem parâmetros
• Veja o efeito de “moveLeft””, etc
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Parâmetros
• Valores• Assinatura de métodos
– Ex: void changeColor (newColor)Valor nome do argumentosDe método ouRetorno parâmetrosEx:double seno(angulo)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
int mdc(numero1, numero2)
int x = mdc(3, 80);
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Tipos de dados
• Inteiros• Strings
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Múltiplas instâncias
• Crie um círculo, um square e um triangle
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Múltiplas instâncias:o que se vê na tela:
• execute a operação makeVisible() sobre eles
• O que você vê? – Um círculo, um
triângulo e um quadrado
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Estado
• Inspetor de objetos
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
O que há dentro de um objeto?
• É definido por sua classe• Classe pessoa
class Pessoa {String nome;int idade;Pessoa(String n, int i) {
nome= n;idade = i;
}void felizAniversario() {
idade = idade + 1;}
}
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Interação entre objetos
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Dois atributos declarados: nome, idadeQual o tipo do atributo nome? StringQual o tipo do atributo idade? int
Dois métodosNomes? Pessoa e felizAniversariofelizAniversário: 0 parâmetrosPessoa:
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Código Fonte
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Exercícios
• Abrir lab classes– Criar estudantes
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Valores de retorno
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Objetos como parâmetros