Prévia do material em texto
Universidade Veiga de Almeida
Pedro Vinícius da Silva Senna
Sistemas de Informação
RIO DE JANEIRO
2025
PROGRAMAÇÃO ORIENTADA A OBJETO I
AVA 2 - Desenvolvimento de projeto de aplicação com uso de vetores
de objetos com tratamento de exceções
Prof. Luciano de Pinna Vieira
Aluno Pedro Vinícius da Silva Senna
1250100640
ÍNDICE
Universidade Veiga de Almeida 1
PROGRAMAÇÃO ORIENTADA A OBJETO I 2
Introdução 4
Classe Computador 5
Class AppComputador 8
Resultados Obtidos 9
Conclusão 11
Bibliografia 11
Introdução
Neste trabalho, desenvolvi um projeto em Java usando orientação a objetos. Usei os conceitos de herança, vetores de objetos e tratamento de exceções. Criei duas classes, Aviao e Navio, que têm algumas características parecidas, por isso fiz uma superclasse chamada MeioTransporte. O objetivo foi organizar melhor o código e evitar repetição.
Conteúdo
O projeto tem três classes principais:
- MeioTransporte: é a superclasse com os atributos capacidadeTanque, numeroPassageiros e preco. Tem métodos para ler os dados, mostrar as informações e reajustar o preço;
- Aviao: herda de MeioTransporte e tem os atributos prefixo e dataRevisao;
- Navio: também herda de MeioTransporte e tem nome, numeroTripulantes e dataLancamento. Também tem um método para calcular a média de passageiros por tripulante.
Na classe principal, usei vetores para armazenar 10 aviões e 10 navios. Os dados foram lidos com Scanner, e usei tratamento de exceções para evitar erros de digitação.
Gráfico de Hierarquia de Classes
MeioTransporte
Aviao
Navio
Codificação das Classes
import java.util.*;
import java.util.Scanner;
class MeioTransporte {
protected int capacidadeTanque;
protected int numeroPassageiros;
protected double preco;
public MeioTransporte() {}
public MeioTransporte(int capacidadeTanque, int numeroPassageiros, double preco) {
this.capacidadeTanque = capacidadeTanque;
this.numeroPassageiros = numeroPassageiros;
this.preco = preco;
}
public void imprimir() {
System.out.println("Capacidade do Tanque: " + capacidadeTanque);
System.out.println("Número de Passageiros: " + numeroPassageiros);
System.out.println("Preço: R$ " + preco);
}
}
class Aviao extends MeioTransporte {
private String prefixo;
private String dataRevisao;
public void entradaDados(java.util.Scanner scanner) {
try {
System.out.print("Prefixo: ");
prefixo = scanner.nextLine();
System.out.print("Capacidade Tanque: ");
capacidadeTanque = Integer.parseInt(scanner.nextLine());
System.out.print("Número de Passageiros: ");
numeroPassageiros = Integer.parseInt(scanner.nextLine());
System.out.print("Preço: ");
preco = Double.parseDouble(scanner.nextLine());
System.out.print("Data de Revisão: ");
dataRevisao = scanner.nextLine();
} catch (Exception e) {
System.out.println("Erro na entrada de dados: " + e.getMessage());
}
}
@Override
public void imprimir() {
System.out.println("=== AVIÃO ===");
System.out.println("Prefixo: " + prefixo);
super.imprimir();
System.out.println("Data Revisão: " + dataRevisao);
}
}
class Navio extends MeioTransporte {
private String nome;
private int numeroTripulantes;
private String dataLancamento;
public void entradaDados(java.util.Scanner scanner) {
try {
System.out.print("Nome: ");
nome = scanner.nextLine();
System.out.print("Capacidade Tanque: ");
capacidadeTanque = Integer.parseInt(scanner.nextLine());
System.out.print("Número de Passageiros: ");
numeroPassageiros = Integer.parseInt(scanner.nextLine());
System.out.print("Número de Tripulantes: ");
numeroTripulantes = Integer.parseInt(scanner.nextLine());
System.out.print("Preço: ");
preco = Double.parseDouble(scanner.nextLine());
System.out.print("Data de Lançamento: ");
dataLancamento = scanner.nextLine();
} catch (Exception e) {
System.out.println("Erro na entrada de dados: " + e.getMessage());
}
}
@Override
public void imprimir() {
System.out.println("=== NAVIO ===");
System.out.println("Nome: " + nome);
super.imprimir();
System.out.println("Tripulantes: " + numeroTripulantes);
System.out.println("Data Lançamento: " + dataLancamento);
}
}
public class Main {
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
Aviao[] avioes = new Aviao[2];
Navio[] navios = new Navio[2];
for (int i = 0; i