0Pricing
Java Academy · Aula

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.

Todas as aulas deste curso

  1. Design
  2. Implementação
  3. Comportamentos polimórficos
← Voltar para Java Academy