objetos e classes - cic/unbjhcf/cursos/dim322s03.2/objetos e... · 2006-08-24 · introdução à...
TRANSCRIPT
![Page 1: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/1.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Objetos e Classes
Jorge FernandesOutubro de 2003
![Page 2: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/2.jpg)
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
![Page 3: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/3.jpg)
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
![Page 4: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/4.jpg)
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
![Page 5: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/5.jpg)
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
![Page 6: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/6.jpg)
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)
![Page 7: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/7.jpg)
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
![Page 8: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/8.jpg)
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
![Page 9: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/9.jpg)
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
![Page 10: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/10.jpg)
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)
![Page 11: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/11.jpg)
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);
![Page 12: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/12.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Tipos de dados
• Inteiros• Strings
![Page 13: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/13.jpg)
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
![Page 14: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/14.jpg)
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
![Page 15: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/15.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Estado
• Inspetor de objetos
![Page 16: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/16.jpg)
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;}
}
![Page 17: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/17.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Interação entre objetos
![Page 18: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/18.jpg)
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:
![Page 19: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/19.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Código Fonte
![Page 20: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/20.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Exercícios
• Abrir lab classes– Criar estudantes
![Page 21: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/21.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Valores de retorno
![Page 22: Objetos e Classes - CIC/UnBjhcf/cursos/DIM322s03.2/Objetos e... · 2006-08-24 · Introdução à Programação com Java e Orientação a Objetos. ... Sumário da aula • Objeto:](https://reader034.vdocuments.site/reader034/viewer/2022050508/5f98f03b2511e104f773226c/html5/thumbnails/22.jpg)
Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes
Objetos como parâmetros