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

Prévia do material em texto

Aluno: Tiago da Silva Palma
Matrícula: 2230108914
Disciplina: Programação Orientada a Objeto
Tutor: Magno Luã de Jesus Souza
Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções
Salvador/BA
2025
UNIJORGE
 
Trabalho da disciplina: Programação Orientada a Objeto (AVA 2) 
 
Aluno: Tiago da Silva Palma
 
Matrícula: 2230108914
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas
 
Campus: Paralela 
 
Turno: Virtual 
ÍNDICE
Introdução……………………………………………………………………....4
Conteúdo………………………………………………………………………..4
Conclusão……………………………………………………………………….12
Referências……………………………………………………………………..12
1. Introdução
De acordo com as diretrizes estabelecidas no enunciado do trabalho AVA2, foi desenvolvida uma aplicação em Java que emprega o conceito de herança, onde uma superclasse atende às necessidades comuns de suas subclasses. Para ilustrar a estrutura hierárquica das classes e suas relações, elaboramos um diagrama de classes.
	Veiculo
	 - CapacidadeTanque
 - NumeroPassageiros
 - Preco
	+setCapacidadeTanque()
+setNumeropassageiros()
+setPreco()
+entradaDados()
+imprimir()
	
	Navio
	- Nome
- DataLancamento
-NumeroTripulantes
	+setNome()
+setDatalacamento()
+setNumeroTripulantes()
+entradaDados()
+imprimir()
	Aviao
	- Prefixo
- DataRevisao
	+setPrefixo()
+setDataRevisao()
+entradaDados()
+imprimir()
Este trabalho detalha o desenvolvimento de um projeto em Java que utiliza vetores de objetos e tratamento de exceções. O projeto envolve a criação de uma superclasse e subclasses para representar veículos (aviões e navios), além de uma aplicação que gerencia um vetor de objetos desses tipos.
2. Superclasse Veiculo
A superclasse Veiculo contém os atributos e métodos comuns às subclasses Aviao e Navio.
Código da classe Veiculo:
package aplicacaoveiculos;
public class Veiculo {
 private int capacidadeTanque;
 private int numeroPassageiros;
 private double preco;
 public Veiculo() {
 }
 public Veiculo(int capacidadeTanque, int numeroPassageiros, double preco) {
 this.capacidadeTanque = capacidadeTanque;
 this.numeroPassageiros = numeroPassageiros;
 this.preco = preco;
 }
 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 imprimir() {
 System.out.println("Capacidade do Tanque: " + capacidadeTanque);
 System.out.println("Número de Passageiros: " + numeroPassageiros);
 System.out.println("Preço: " + preco);
 }
}
3. Subclasse Aviao
A classe Aviao herda os atributos e métodos da superclasse Veiculo e adiciona atributos específicos.
Código da classe Aviao:
package aplicacaoveiculos;
import java.util.Scanner;
public class Aviao extends Veiculo {
 private String prefixo;
 private String dataRevisao;
 public Aviao() {
 super();
 }
 public Aviao(int capacidadeTanque, int numeroPassageiros, double preco, String prefixo, String dataRevisao) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.prefixo = prefixo;
 this.dataRevisao = dataRevisao;
 }
 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() {
 super.imprimir();
 System.out.println("Prefixo: " + prefixo);
 System.out.println("Data de Revisão: " + dataRevisao);
 }
 public void entrada() {
 Scanner scanner = new Scanner(System.in);
 try {
 System.out.print("Capacidade do Tanque: ");
 setCapacidadeTanque(scanner.nextInt());
 System.out.print("Número de Passageiros: ");
 setNumeroPassageiros(scanner.nextInt());
 System.out.print("Preço: ");
 setPreco(scanner.nextDouble());
 scanner.nextLine();
 System.out.print("Prefixo: ");
 setPrefixo(scanner.nextLine());
 System.out.print("Data de Revisão: ");
 setDataRevisao(scanner.nextLine());
 } catch (java.util.InputMismatchException e) {
 System.out.println("Entrada inválida. Certifique-se de inserir os dados corretamente.");
 }
 }
 public void reajustarPreco(double percentual) {
 setPreco(getPreco() * (1 + percentual / 100));
 }
}
4. Subclasse Navio
A classe Navio também herda os atributos e métodos da superclasse Veiculo e adiciona atributos específicos.
Código da classe Navio:
import java.util.Scanner;
public class Navio extends Veiculo {
 private String nome;
 private int numeroTripulantes;
 private String dataLancamento;
 public Navio() {
 super();
 }
 public Navio(int capacidadeTanque, int numeroPassageiros, double preco, String nome, int numeroTripulantes, String dataLancamento) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.nome = nome;
 this.numeroTripulantes = numeroTripulantes;
 this.dataLancamento = dataLancamento;
 }
 public Navio(String nome, int numeroTripulantes, String dataLancamento) {
 this.nome = nome;
 this.numeroTripulantes = numeroTripulantes;
 this.dataLancamento = dataLancamento;
 }
 public Navio(int capacidadeTanque, int numeroPassageiros, double preco, String nome, int numeroTripulantes) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.nome = nome;
 this.numeroTripulantes = numeroTripulantes;
 }
 public Navio(int capacidadeTanque, int numeroPassageiros, double preco, String nome) {
 super(capacidadeTanque, numeroPassageiros, preco);
 this.nome = nome;
 }
 public String getNome() {
 return nome;
 }
 public void setNome(String nome) {
 this.nome = nome;
 }
 public int getNumeroTripulantes() {
 return numeroTripulantes;
 }
 public void setNumeroTripulantes(int numeroTripulantes) {
 this.numeroTripulantes = numeroTripulantes;
 }
 public String getDataLancamento() {
 return dataLancamento;
 }
 public void setDataLancamento(String dataLancamento) {
 this.dataLancamento = dataLancamento;
 }
 @Override
 public void imprimir() {
 super.imprimir();
 System.out.println("Nome: " + nome);
 System.out.println("Número de Tripulantes: " + numeroTripulantes);
 System.out.println("Data de Lançamento: " + dataLancamento);
 }
 public void entrada() {
 Scanner scanner = new Scanner(System.in);
 try {
 System.out.print("Capacidade do Tanque: ");
 setCapacidadeTanque(scanner.nextInt());
 System.out.print("Número de Passageiros: ");
 setNumeroPassageiros(scanner.nextInt());
 System.out.print("Preço: ");
 setPreco(scanner.nextDouble());
 scanner.nextLine();
 System.out.print("Nome: ");
 setNome(scanner.nextLine());
 System.out.print("Número de Tripulantes: ");
 setNumeroTripulantes(scanner.nextInt());
 scanner.nextLine();
 System.out.print("Data de Lançamento: ");
 setDataLancamento(scanner.nextLine());
 } catch (java.util.InputMismatchException e) {
 System.out.println("Entrada inválida. Certifique-se de inserir os dados corretamente.");
 }}
 public double passageirosPorTripulantes() {
 return (double) getNumeroPassageiros() / getNumeroTripulantes();
 }
}
5. Classe de Aplicação (AplicacaoVeiculos)
A classe AplicacaoVeiculos gerencia um vetor de objetos Veiculo, instanciando aviões e navios com o construtor vazio e utilizando tratamento de exceções para entradas inválidas.
Código da classe AplicacaoVeiculos:
package aplicacaoveiculos;
public class AplicacaoVeiculos {
 public static void main(String[] args) {
 Veiculo[] veiculos = new Veiculo[20];
 for (int i = 0; i

Mais conteúdos dessa disciplina