objetos e classes - cic/unbjhcf/cursos/dim322s03.2/objetos e... · 2006-08-24 · introdução à...

22
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

Upload: others

Post on 07-Aug-2020

0 views

Category:

Documents


0 download

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

Introdução à Programação com Java e Orientação a Objetos. Copyright © 2003, Jorge H. C. Fernandes

Objetos como parâmetros