Programar 302: Vetores de Objetos e Polimorfismo

Este artigo é um rascunho / This post is a stub. Edited 2020-05-18

No final do semestre, o grande objetivo/desafio é conceber e programar uma aplicação interativa, não-linear, audiovisual, etc.

Neste sentido, apesar de terem sido explicados os fundamentos necessários para o conseguir, é ainda muito útil aprender mais um par de técnicas (é necessário pelo menos mais uma aula?)

Falamos dos objetos PVector (que são super-úteis e facilitam os cálculos) e do polimorfismo dos objetos.

O primeiro não é super crucial, mas permite-nos facilitar os cálculos de posição e movimento. E alternar entre coordenadas polares e cartesianas sem grande esforço de trigonometria. Apenas lógica e suor.

O segundo é o polimorfismo dos objetos. Para compreender isto é necessário utilizar uma outra estrutura de listas chamada ArrayLists()

É uma classe de Java (não é do Processing propriamente dito) mas dá imensa robustez ao código.

PVector

ArrayLists

Inheritance (extends e super)

Polimorfismo

Enhanced loop — objetos polimórficos
for (Particle a : particles) { … }

Posso explicar com a classes do sampler
Um sample ten uma posicao e tamanho e clique
O filho pose ter uma forma e um som especifico