Design
Planeje a hierarquia: escolha a base abstrata, liste as formas concretas, selecione campos e métodos e defina operações polimórficas simples.
Design é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.
Objetivo e escopo
Objetivo: criar uma pequena hierarquia de formas com uma base abstrata (Shape) e algumas formas concretas (Circle, Rectangle). Primeiro, projetaremos as operações comuns e depois confirmaremos o plano com pequenos protótipos de código.
Formas e campos
Formas: Circle (raio), Rectangle (largura, altura). Mantenha os campos apenas onde eles pertencem: o raio em Circle e a largura e a altura em Rectangle. A classe base contém contratos de comportamento, não todos os campos.
Operações e polimorfismo
Operações comuns: area() e perimeter(). Nós as declaramos em Shape para que qualquer Shape possa responder a essas chamadas. Depois, uma lista de Shape pode conter objetos misturados de Circle e Rectangle e processá-los de maneira uniforme.
Código: esboço da interface de programação
Protótipo 1: defina Shape com area e perimeter e uma Circle simples. Isso verifica se a interface de programação compartilhada funciona para um tipo concreto.
public class Main {
// Minimal API sketch to validate the design
static abstract class Shape {
abstract double area();
abstract double perimeter();
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
}
public static void main(String[] args) {
Shape s = new Circle(2.0);
System.out.println("area=" + s.area());
System.out.println("perimeter=" + s.perimeter());
}
}
Coleções e apresentação
Mais tarde, armazenaremos as formas em uma lista e imprimiremos resumos como tipo, área e perímetro. Um pequeno formatador mantém a saída legível no celular: uma forma por linha, arredondada para duas casas decimais.
Código: lista de formas
Protótipo 2: misture Circle e Rectangle em um único vetor de Shape e imprima cada elemento. Os métodos da base permitem um tratamento uniforme (polimorfismo).
public class Main {
static abstract class Shape {
abstract double area();
abstract double perimeter();
String info() {
// default helper for neat printing
return String.format("area=%.2f, per=%.2f", area(), perimeter());
}
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
public String toString() { return "Circle " + info(); }
}
static class Rectangle extends Shape {
double w, h;
Rectangle(double w, double h) { this.w = w; this.h = h; }
double area() { return w * h; }
double perimeter() { return 2 * (w + h); }
public String toString() { return "Rectangle " + info(); }
}
public static void main(String[] args) {
Shape[] arr = { new Circle(2.0), new Rectangle(3.0, 4.0) };
for (int i = 0; i < arr.length; i = i + 1) {
System.out.println(arr[i]);
}
}
}
Verificação do projeto da base
Verificação rápida: quais itens pertencem à classe base abstrata Shape neste projeto?
Recapitulação
Recapitulação: a classe base declara area e perimeter. As subclasses armazenam dados específicos da forma e implementam os cálculos. As listas de Shape permitem imprimir formas misturadas com um único laço.
Perguntas Frequentes
A aula “Design” é grátis?
Sim — o texto completo de “Design” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.
O que vou aprender em “Design”?
Planeje a hierarquia: escolha a base abstrata, liste as formas concretas, selecione campos e métodos e defina operações polimórficas simples. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.
Quanto tempo leva a aula “Design”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.