![Page 1: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/1.jpg)
Programação Orientada a Objetos
Formalismos e Programação OOObjetos e Classes
André Santanchè e Oscar RojasInstitute of Computing – UNICAMP
Março 2019
Pic
ture
by
htt
p:/
/ww
w.f
lickr
.co
m/p
ho
tos/
cro
uch
y69
, 201
0
![Page 2: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/2.jpg)
As Duas Faces da OO
▪ Abordagem de abstração
▪ Estrutura de dados
![Page 3: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/3.jpg)
FormalEstereótipos / Classes
![Page 4: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/4.jpg)
Universo deDiscurso
Modelo
Generalização
Instancias
Rhacophytales
color
height
Rhacophytales (1)
color
height 13
Rhacophytales (2)
color
height 10
![Page 5: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/5.jpg)
color
height
Rhacophytales (1)
color
height 13
atributos
estereótipo
instância
valores deatributos
Rhacophytales
![Page 6: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/6.jpg)
Objeto
![Page 7: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/7.jpg)
Objeto
“O que se apresenta à percepção com um caráter fixo e estável”. (Ferreira, 1989)
_______________
▪ Objetos são caracterizados por:
▫ identidade;
▫ atributos;
▫ comportamento.
![Page 8: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/8.jpg)
Objeto
▪ Objeto do universo de discurso
▪ Identificável distintamente
▪ Existência independente
P e s s o a
L i v r o
D e p a r t a m e n t od e u m a
O r g a n i z a ç ã o
C a t e g o r i ad e u m
L i v o
![Page 9: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/9.jpg)
Objeto
Objetos são caracterizados por:
▫ identidade;
▫ atributos;
▫ comportamento.
P e s s o a
L i v r o
D e p a r t a m e n t od e u m a
O r g a n i z a ç ã o
C a t e g o r i ad e u m
L i v o
![Page 10: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/10.jpg)
Exemplo de ObjetoEsfera Vermelha
Atributos (nome, valor)
(cor, vermelha)
(elasticidade, alta)
(raio, 60 cm)
(peso, 200 g)
aumentar, diminuir, se mover
Comportamento
Objeto Esfera
![Page 11: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/11.jpg)
Exemplo de ObjetoUm Financiamento
Atributos (nome, valor)
(percentual de juros, 1%)
(número de parcelas, 3)
(valor, R$ 150)
calcula parcela
Comportamento
Objeto Financiamento
![Page 12: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/12.jpg)
OO: Classe
![Page 13: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/13.jpg)
Classe
"Numa série ou num conjunto, grupo ou divisão que apresenta características ou atributos semelhantes." (Ferreira, 1989)
▪ Classificação de Carl Linné
![Page 14: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/14.jpg)
Classe
▪ Quando realizamos uma classificação de objetos, identificamos o seu comportamento e as características que eles possuem em comum.
▪ Classes definem:
▫ Atributos que irão descrever o objeto;
▫ Métodos que definem o comportamento dos mesmos.
![Page 15: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/15.jpg)
Objetos e Classes
▪ Os objetos são organizados/divididos em grupos chamados classes.
▪ Objetos da mesma classe têm:
▫ o mesmo conjunto de atributos (os valores dos atributos podem ser diferentes);
▫ o mesmo conjunto de métodos.
![Page 16: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/16.jpg)
Exemplo de ClasseEsfera
Atributos (nome, tipo)
(cor, color)
(elasticidade, string)
(raio, real)
(peso, real)
aumentar, diminuir, se mover
Comportamento
Classe Esfera
![Page 17: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/17.jpg)
Exemplo de ObjetoEsfera Vermelha
Atributos (nome, valor)
(cor, vermelha)
(elasticidade, alta)
(raio, 60 cm)
(peso, 200 g)
aumentar, diminuir, se mover
Comportamento
Objeto Esfera
![Page 18: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/18.jpg)
Exemplo de ClasseFinanciamento
Atributos (nome, tipo)
(percentual de juros, real)
(número de parcelas, inteiro)
(valor, real)
calcula parcela
Comportamento
Classe Financiamento
![Page 19: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/19.jpg)
Exemplo de ObjetoUm Financiamento
Atributos (nome, valor)
(percentual de juros, 1%)
(número de parcelas, 3)
(valor, R$ 150)
calcula parcela
Comportamento
Objeto Financiamento
![Page 20: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/20.jpg)
Classe
▪ Em Programação Orientada ao Objeto:
Atributos: dados que pertencem a cada instância da classe (objeto); são definidos sob a forma de variáveis.
Métodos: definem o comportamento do objeto; representados por módulos.
![Page 21: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/21.jpg)
Objeto instância de Classe
▪ Um Objeto consiste em uma instância de uma Classe
▪ A instância define:
▫ identidade única
▫ estado (representado pelos valores de seus atributos).
![Page 22: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/22.jpg)
Objeto
A classe pode ser importada de uma biblioteca ou definida pelo programador.
Para se instanciar um objeto utiliza-se o método Construtor.
![Page 23: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/23.jpg)
Construtores e Destrutores
▪ Construtor (mesmo nome da classe)▫ Todo o objeto deve ser instanciado (criado) através da
ativação do método construtor.
▪ Destrutor (finalize)▫ O destrutor é o inverso do construtor, ele é ativado
automaticamente quando o objeto está sendo destruído a fim de liberar a memória ocupada pelo mesmo.
▪ Garbage Collection (Coleta de Lixo)▫ O mecanismo de gerência automática de memória que
destrói o objeto quando ele não está mais sendo usado.
![Page 24: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/24.jpg)
UMLUnified Modeling Language
▪ http://www.uml.org/
▪ Desenvolvida entre 1994-96
▪ Criadores
▫ Grady Booch, Ivar Jacobson and James Rumbaugh na Rational Software
▪ Padrão OMG em 1997
▫ OMG - Object Management Group
▫ http://omg.org/
(Wikipedia, 2015)
![Page 25: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/25.jpg)
UML
ClassePessoa Livro Circulo
![Page 26: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/26.jpg)
UML
Instância de ClassePessoa Livro Circulo
umaPessoa umLivro umCirculo
![Page 27: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/27.jpg)
UML
Instância de Classe (alternativa)
umaPessoa: Pessoa umaLivro: Livro umCirculo: Circulo
![Page 28: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/28.jpg)
Atributos
▪ Cada instância da classe (objeto) define valores para atributos que a descrevem
Pessoacodigo: Stringnome: Stringtelefone: int
isbn: Stringtitulo: Stringautor: Stringano: intcategoria: String
Livro
![Page 29: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/29.jpg)
UML
Atributos (propriedades)
Pessoacodigo: Stringnome: Stringtelefone: int
isbn: Stringtitulo: Stringautor: Stringano: intcategoria: String
Livro CirculocentroX: intcentroY: intraio: int
![Page 30: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/30.jpg)
Classe Circulo – Java
Atributospackage pt.c02oo.s02classe.s01circulo01;
public class Circulo { int centroX, centroY; int raio;}package pt.c02oo.s02classe.s01circulo01;
public class AppCirculo01 { public static void main(String args[]) { Circulo circ = new Circulo(); circ.centroX = 5; circ.centroY = 3; circ.raio = 10;
System.out.println("Circulo: centro(" + circ.centroX + ", " + circ.centroY + "), raio " + circ.raio);
}}
![Page 31: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/31.jpg)
UML
Instância com valores de atributos
CirculocentroX: intcentroY: intraio: int
umCirculoCentroX = 5CentroY = 3Raio = 10
![Page 32: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/32.jpg)
color
height
Rhacophytales (1)
color
height 13
instância
Rhacophytales
color: ColorTypeheight: int
R1
color = greenheight = 13
Rhacophytales
![Page 33: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/33.jpg)
UML
Métodos (operações)
Circulo
area() : double setRaio(novo: int)
centroX: intcentroY: intraio: int
![Page 34: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/34.jpg)
Classe Circulo – Java
Métodos
package pt.c02oo.s02classe.s01circulo05;public class AppCirculo05 { public static void main(String args[]) { Circulo circ = new Circulo(5, 3, 10); System.out.println("Circulo: centro(" + circ.centroX + ", " + circ.centroY + "), raio " + circ.raio); System.out.println("Area do circulo: " + circ.area()); }}
package pt.c02oo.s02classe.s01circulo05;public class Circulo { int centroX, centroY; int raio; Circulo(int centroX, int centroY, int raio) { this.centroX = centroX; this.centroY = centroY; this.raio = raio; } double area() { return Math.PI * raio * raio; }}
![Page 35: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/35.jpg)
Compilando Duas Classes
![Page 36: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/36.jpg)
Execução de Classes Interligadas▪ Classes no mesmo pacote são
automaticamente interligadas
![Page 37: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/37.jpg)
Objeto em Java
▪ A instanciação do objeto se dá através do comando new.
▪ Quando o objeto é instanciado é acionado um método especial denominado construtor que tem o mesmo nome da classe.
![Page 38: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/38.jpg)
Auto-referência e this
▪ Sem o this: Circulo(int pCentroX, int pCentroY, int pRaio) { centroX = pCentroX; centroY = pCentroY; raio = pRaio; }
▪ Com o this Circulo(int centroX, int centroY, int raio) { this.centroX = centroX; this.centroY = centroY; this.raio = raio; }
![Page 39: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/39.jpg)
Auto-referência e this
▪ Para realizar referência a si próprio o objeto pode usar a referência this
public class Circulo { int centroX, centroY; int raio; Circulo(int pCentroX, int pCentroY, int pRaio) { centroX = pCentroX; centroY = pCentroY; raio = pRaio; }
![Page 40: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/40.jpg)
Estudo de Caso
Bastião
Atributosidade (1 a 3 anos)
estado (acordado, dormindo)
Métodosaparecer, crescer, dormir e acordar
o*o*
o*o
*o*o*****
![Page 41: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/41.jpg)
Estudo de Caso
Classe Bastiao no arquivo Bastiao.java
Classe Principal no arquivo Principal.java
![Page 42: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/42.jpg)
Instanciação
Bastiao theBastian;
Declaração da Referência
theBastian = new Bastiao();
Instanciação do Objeto(chamada do construtor)
theBastian.aparece();
Chamada de Método
![Page 43: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/43.jpg)
Atributos Estáticos
▪ Recebem o prefixo static
▪ Atributos que pertencem à classe
▫ mesmo valor do atributo compartilhado por todos os objetos
![Page 44: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/44.jpg)
Métodos Estáticos
▪ Recebem o prefixo static
▪ Métodos de classe
▫ não exigem instância para serem acionados
▫ só podem acessar os atributos estáticos
▫ só podem acionar outros métodos estáticos
![Page 45: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/45.jpg)
Objetos da Biblioteca Java
![Page 46: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/46.jpg)
Vetor▪ Objeto especial do Java
▪ Declaração<tipo>[] <declaração
1>, ..., <declaração
n>;
<tipo> <declaração1>[], ..., <declaração
n>[];
▫ <declaração>◦ Sintaxe: <nome> = <inicialização>◦ Chaves são usadas para inicializar cada dimensão◦ Ex.: int primos[] = {1, 2, 3, 5, 7};
![Page 47: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/47.jpg)
Vetor▪ A inicialização inline instancia
automaticamente um objeto▪ Quando a inicialização não é inline o vetor ou
matriz precisa ser instanciado com new
<nome> = new <tipo>[<tamanho>]
▫ Ex.:int primos[];primos = new int[5];
![Page 48: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/48.jpg)
Estruturas de Dados DinâmicasVector e ArrayList
▪ vetores dinâmicos
▪ Vector – sincronizado
▫ mais seguro, mais lento
▪ ArrayList – não sincronizado
▫ menos seguro, mais rápido
▪ Métodos
▫ size()
▫ add(<elemento>)
▫ get(<posição>) <elemento>→ <elemento>
![Page 49: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/49.jpg)
Estruturas de Dados DinâmicasHashtable
▪ Tabela hash
▪ Métodos:
▫ put(<chave>, <valor>)
▫ get(<chave>) <valor>→ <elemento>
![Page 50: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/50.jpg)
Estruturas de Dados DinâmicasStack
▪ Pilha
▪ Métodos:
▫ push(<elemento>)
▫ pop() <elemento>→ <elemento>
![Page 51: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/51.jpg)
Referências Bibliográficas
▪ Almeida, Charles Ornelas , Guerra, Israel; Ziviani, Nivio (2010) Projeto de Algoritmos (transparências aula).
▪ Bloom, Paul (2007) Introduction to Psychology – transcrição das aulas (aula 17). Yale University.
▪ Ferreira, Aurélio B. H. (1989) Minidicionário da Língua Portuguesa. Rio de Janeiro, Editora Nova Fronteira.
▪ Houaiss, Instituto Antônio. Dicionário Houaiss da língua portuguesa (2006) Editora Objetiva, Março.
▪ IBM - International Business Machines Corporation. IBM Smalltalk Tutorial [Online] http://www.wi2.uni-erlangen.de/sw/smalltalk/
▪ Liskov, Barbara; Zilles, Stephen. Programming with abstract data types (1974) ACM SIGPLAN Notices, 9 (4) p. 50.
![Page 52: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/52.jpg)
Referências Bibliográficas
▪ Meyer, Bertrand (1997) Object-Oriented Software Construction – Second Edition. USA, Prentice-Hall, Inc.
▪ Miller, Robert (2004) 6.831 User Interface Design and Implementation (lecture notes). MIT OpenCourseware.
▪ Rocha, Heloisa Vieira da, Baranauskas, Maria Cecilia Calani (2003) Design e Avaliação de Interfaces Humano-Computador. NIED/UNICAMP.
▪ Santos, L. R., & Hood, B. M. (2009). Object representation as a central issue in cognitive science. The Origins of Object Knowledge: The Yale Symposium on the Origins of Object & Number Representation. Oxford: Oxford University Press.
▪ Shaw, M. Abstraction Techniques in Modern Programming Languages (1984) IEEE Software, 1, 4, 10-26.
![Page 53: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/53.jpg)
Referências Bibliográficas
▪ Tenenbaum, Aaron M.; Langsam, Yedidyah; Augenstein, Moshe J. Data Structures Using C (1990) Prentice Hall, Upper Saddle River, NJ.
![Page 54: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/54.jpg)
André Santanchèhttp://www.ic.unicamp.br/~santanche
![Page 55: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/55.jpg)
License▪ These slides are shared under a Creative Commons License.
Under the following conditions: Attribution, Noncommercial and Share Alike.
▪ See further details about this Creative Commons license at:http://creativecommons.org/licenses/by-nc-sa/3.0/
![Page 56: Programação Orientada a Objetos Formalismos e Programação OOsantanch/teaching/oop/... · color height Rhacophytales (1) color height 13 Rhacophytales (2) color height 10. color](https://reader034.vdocuments.net/reader034/viewer/2022042913/5f4be090066c0035bb35bc2c/html5/thumbnails/56.jpg)
Imagens Externas
▪ Havang(nl) [http://commons.wikimedia.org/wiki/User:Havang%28nl%29]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Bomenpark_Meijhorst,_Nijmegen_%28Gld,_NL%29.jpg
▪ Eric Gaba [http://commons.wikimedia.org/wiki/User:Sting]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Easter_Island_map-hu.svg
▪ Kharker [http://en.wikipedia.org/wiki/User:Kharker]url (ver licença específica): http://commons.wikimedia.org/wiki/File:Ardf_map.png