Skip to content

LucasSaquette2009/Projetos-Java

Repository files navigation

☕ Meus Projetos - Java (Foco em POO Avançada)

Este repositório centraliza os projetos e exercícios que desenvolvi durante minha formação técnica na ETEC de Sorocaba (Fernando Prestes - AMS). O foco principal desta coleção é demonstrar o domínio prático sobre os pilares mais complexos da Programação Orientada a Objetos: Herança e Polimorfismo Dinâmico.

"Sempre estudando, evoluindo a arquitetura e melhorando o código." 🚀


📂 Arquitetura e Projetos em Destaque

🎫 Sistema de Gestão de Passagens Aéreas

Projeto focado na estruturação de hierarquias limpas e reaproveitamento de código através de herança e polimorfismo de métodos.

  • Especialização por Herança: Criação de subclasses (OvernightTicket e FirstClassTicket) que estendem a classe base (Ticket), herdando e protegendo atributos como dados do passageiro e assentos.
  • Polimorfismo Dinâmico: Sobrescrita do método ticketInfo() para garantir que o Java descubra, em tempo de execução, a regra de cálculo e formatação de texto correta para cada bilhete (seja aplicando descontos noturnos de madrugada ou taxas de luxo premium).
  • Isolamento de Memória com Métodos Estáticos: Uso de métodos de classe (static) para consultar taxas globais do sistema de forma direta na interface, sem a necessidade de instanciar objetos temporários.

🎮 Plataforma Contábil — ETEC Play

Evolução do uso do polimorfismo para cenários comerciais complexos, simulando o comportamento de regras de faturamento de um e-commerce/streaming.

  • Polimorfismo para Lógica de Negócios: Implementação do método polimórfico netPrice() na classe base. O gerenciador de assinaturas utiliza esse método para varrer uma lista mista de planos (Standard, Premium e Corporate) e calcular o faturamento bruto em tempo real com base no tipo real de cada objeto na memória Heap.
  • Encapsulamento Rígido com Modificadores: Uso estratégico do modificador protected para compartilhamento seguro do preço base com as subclasses, e do modificador final na coleção interna do gerenciador, impedindo reatribuições ou deleções acidentais da lista.
  • Programação Defensiva: Substituição de condicionais estruturados (if/else) por funções de limite matemático como o Math.max para garantir pisos mínimos de venda no plano corporativo de forma elegante e limpa.

🧠 Competências e Pilares de POO Consolidados

  • Herança (extends & super): Domínio na criação de árvores genealógicas de classes, sabendo o momento exato de reaproveitar construtores e comportamentos da classe mãe, evitando duplicação e código redundante.
  • Polimorfismo Dinâmico (@Override): Capacidade de fazer com que objetos de tipos diferentes respondam à mesma mensagem de formas específicas, permitindo que os gerenciadores tratem todas as subclasses de forma genérica e segura.
  • Encapsulamento Avançado: Aplicação de modificadores de acesso adequados (private, protected, public e final) para proteger a integridade dos dados e expor apenas o necessário para a camada de aplicação.
  • Java Collections Framework: Gerenciamento eficiente de listas dinâmicas (ArrayList) contendo coleções de objetos polimórficos encapsulados.

🛠️ Tecnologias Utilizadas

  • Linguagem: Java ☕ (JDK 25)
  • IDE: IntelliJ IDEA 2026
  • Paradigma: Programação Orientada a Objetos (POO)
  • Controle de Versão: Git / GitHub

📈 Evolução Técnica

Este espaço demonstra a transição da lógica de programação estruturada simples para o desenvolvimento de software profissional orientado a objetos. A separação clara de responsabilidades entre classes de aplicação, entidades de dados e gerenciadores polimórficos reflete a busca constante por um código limpo, escalável e de fácil manutenção.

Conecte-se comigo:

About

Aqui vou adicionar todos projetos que irei fazer durante meu aprendizado em Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages