Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

UNIVERSIDADE VEIGA DE ALMEIDA
Análise e Desenvolvimento de Sistemas EAD
IGOR WALTER DE MENDONÇA CALDINI
AVA 2 – Programação Orientada a Objetos 1
Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções
São João de Meriti
 2025
UNIVERSIDADE VEIGA DE ALMEIDA
Análise e Desenvolvimento de Sistemas EAD
AVA 2 – Programação Orientada a Objetos 1
Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções
Avaliação do curso de graduação em Analise e Desenvolvimento de Sistemas na Universidade Veiga
de Almeida.
Orientador: Professor Marcos Aurelio Novaes Esteves
São João de Meriti
 2025
Índice
1. Introdução ........................................... 3
2. Objetivos ............................................. 4
3. Conteúdo .............................................. 5
 3.1 Hierarquia de Classes
 3.2 Diagrama de Classes
 3.3 Codificação
4. Conclusão ............................................ XX
5. Bibliografia ......................................... XX
1. Introdução
Este trabalho apresenta o desenvolvimento de uma aplicação em Java utilizando os conceitos de Programação Orientada a Objetos (POO), com foco em herança, uso de vetores de objetos e tratamento de exceções.
A proposta é criar uma superclasse genérica que contenha atributos e métodos comuns e, a partir dela, derivar subclasses específicas (Avião e Navio). Além disso, foi implementado um vetor único capaz de armazenar múltiplos objetos de diferentes tipos, garantindo flexibilidade e organização no código.
2. Objetivos
- Aplicar os conceitos de herança e polimorfismo em Java.
- Utilizar vetores de objetos para gerenciamento de diferentes instâncias.
- Implementar tratamento de exceções para evitar entradas inválidas.
- Demonstrar a organização de código com métodos construtores, getters/setters e sobrecarga.
- Produzir documentação formal do projeto.
3. Conteúdo
3.1 Hierarquia de Classes
A superclasse MeioTransporte contém os atributos e métodos comuns a todas as subclasses. As classes Aviao e Navio herdam de MeioTransporte e adicionam atributos e métodos específicos.
3.2 Diagrama de Classes
 MeioTransporte
 ---------------------------
 - capacidadeTanque : int
 - numeroPassageiros : int
 - preco : double
 + entrada()
 + imprimir()
 + reajustarPreco()
 ---------------------------
 / \
 / \
 Aviao Navio
 ----------------- --------------------
 - prefixo:String - nome:String
 - dataRevisao:Str - numeroTripulantes:int
 - dataLancamento:String
3.3 Codificação
Os códigos-fonte foram desenvolvidos em Java e estão organizados em arquivos separados.
// Transporte.java (superclasse abstrata)
public abstract class Transporte {
 protected int capacidadeTanque;
 protected int numeroPassageiros;
 protected double preco;
 public Transporte() {
 this.capacidadeTanque = 0;
 this.numeroPassageiros = 0;
 this.preco = 0.0;
 }
 public Transporte(int capacidadeTanque, int numeroPassageiros, double preco) {
 this.capacidadeTanque = capacidadeTanque;
 this.numeroPassageiros = numeroPassageiros;
 this.preco = preco;
 }
 // getters e setters
 public int getCapacidadeTanque() { return capacidadeTanque; }
 public void setCapacidadeTanque(int capacidadeTanque) { this.capacidadeTanque = capacidadeTanque; }
 public int getNumeroPassageiros() { return numeroPassageiros; }
 public void setNumeroPassageiros(int numeroPassageiros) { this.numeroPassageiros = numeroPassageiros; }
 public double getPreco() { return preco; }
 public void setPreco(double preco) { this.preco = preco; }
 public void reajustarPreco(double percentual) {
 this.preco = this.preco + this.preco * percentual / 100.0;
 }
 // método abstrato para imprimir e entrada
 public abstract void imprimir();
 public abstract void entrada(java.util.Scanner sc);
}
// Aviao.java
import java.util.InputMismatchException;
import java.util.Scanner;
public class Aviao extends Transporte {
 private String prefixo;
 private String dataRevisao;
 public Aviao() {
 super();
 this.prefixo = "";
 this.dataRevisao = "";
 }
 public Aviao(String prefixo, int capacidadeTanque, int numeroPassageiros, double preco, String dataRevisao) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.prefixo = prefixo;
 this.dataRevisao = dataRevisao;
 }
 // getters e setters
 public String getPrefixo() { return prefixo; }
 public void setPrefixo(String prefixo) { this.prefixo = prefixo; }
 public String getDataRevisao() { return dataRevisao; }
 public void setDataRevisao(String dataRevisao) { this.dataRevisao = dataRevisao; }
 @Override
 public void imprimir() {
 System.out.println("=== Avião ===");
 System.out.println("Prefixo: " + prefixo);
 System.out.println("Capacidade Tanque: " + capacidadeTanque);
 System.out.println("Número Passageiros: " + numeroPassageiros);
 System.out.println("Preço: " + preco);
 System.out.println("Data Revisão: " + dataRevisao);
 }
 @Override
 public void entrada(Scanner sc) {
 System.out.print("Prefixo: ");
 this.prefixo = sc.nextLine();
 while (true) {
 try {
 System.out.print("Capacidade Tanque (int): ");
 this.capacidadeTanque = Integer.parseInt(sc.nextLine());
 if (this.capacidadeTanquepublic void imprimir() {
 System.out.println("=== Navio ===");
 System.out.println("Nome: " + nome);
 System.out.println("Capacidade Tanque: " + capacidadeTanque);
 System.out.println("Número Passageiros: " + numeroPassageiros);
 System.out.println("Número Tripulantes: " + numeroTripulantes);
 System.out.println("Preço: " + preco);
 System.out.println("Data Lançamento: " + dataLancamento);
 }
 @Override
 public void entrada(Scanner sc) {
 System.out.print("Nome: ");
 this.nome = sc.nextLine();
 while (true) {
 try {
 System.out.print("Capacidade Tanque (int): ");
 this.capacidadeTanque = Integer.parseInt(sc.nextLine());
 if (this.capacidadeTanque

Mais conteúdos dessa disciplina