Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>UNIVERSIDADE VEIGA DE ALMEIDA/CAMPUS CABO FRIO</p><p>ANÁLISE E DESENVOLVIMENTO DE SISTEMAS</p><p>JOÃO MELLO COUTINHO</p><p>PROGRAMAÇÃO ORIENTADA A OBJETO</p><p>AVA 2 – Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções</p><p>RIO DE JANEIRO</p><p>2024</p><p>Desenvolvimento de projeto de aplicação com uso de vetores de objetos com tratamento de exceções</p><p>O uso de vetores e matrizes de objetos pode facilitar muito o desenvolvimento de determinados projetos, facilitando o desenvolvimento, diminuindo a complexidade e favorecendo a manutenção do sistema.</p><p>Dadas as classes a seguir, crie uma superclasse para atender às necessidades das subclasses, com todas as funcionalidades comuns às classes similares. Crie também uma aplicação que gere, por meio de um vetor único com dez objetos de cada tipo, utilizando sempre o construtor vazio. Utilize o tratamento de exceções para proteger a aplicação contra possíveis entradas de dados inválida com os métodos da classe Scanner.</p><p>Classes:</p><p>Classe</p><p>Atributos</p><p>Métodos</p><p>Aviao</p><p>Prefixo : Texto</p><p>CapacidadeTanque : inteiro</p><p>NumeroPassageiros : inteiro</p><p>Preco : real</p><p>DataRevisao : Texto</p><p>· Acesso (setters e getters).</p><p>· Construtores: pelo menos dois métodos construtores.</p><p>· imprimir(): exibe os dados do objeto.</p><p>. entrada(): realiza a entrada de dados pelo teclado</p><p>· reajustarPreco(percentual : real): reajusta o preço do avião, alterando o valor do atributo de acordo com o percentual passado como parâmetro.</p><p>Navio</p><p>Nome : Texto</p><p>CapacidadeTanque : inteiro</p><p>NumeroPassageiros : inteiro</p><p>NumeroTripulantes : inteiro</p><p>Preco : real</p><p>DataLancamento : Texto</p><p>· Acesso (setters e getters).</p><p>· Construtores: pelo menos cinco métodos construtores.</p><p>· imprimir(): exibe os dados do objeto.</p><p>· entrada(): realiza a entrada de dados pelo teclado</p><p>· passageirosPorTripulantes(): retorna a divisão do número de passageiros pelo número de tripulantes. Os valores usados nesse método são atributos, por isso não precisam ser passados como parâmetros.</p><p>Observações:</p><p>1. A superclasse deverá possuir dois métodos construtores também.</p><p>2. Apenas atributos com o mesmo nome e do mesmo tipo podem ser considerados similares para a herança.</p><p>3. Os atributos devem ser protegidos contra acesso direto.</p><p>Monte o diagrama de hierarquia das classes e defina onde ficará cada atributo após a aplicação do conceito de herança. Após a determinação da hierarquia, desenvolva separadamente as classes (incluindo a classe de aplicação). O projeto deve então ser documentado em um arquivo do Word e postado no ambiente de avaliação.</p><p>Como é um documento institucional, o arquivo deve ter:</p><p>· Capa (detalhando a instituição e o curso).</p><p>· Contracapa (detalhando a disciplina, professor e membros do grupo).</p><p>· Índice.</p><p>· Introdução.</p><p>· Conteúdo.</p><p>· Documentação do projeto com o gráfico hierárquico das classes.</p><p>· Codificação de todas as classes e aplicação.</p><p>· Apresentação dos resultados dos testes realizados com o projeto.</p><p>· Conclusão do trabalho.</p><p>· Bibliografia.</p><p>Orientações Gerais para a realização do Trabalho da Disciplina:</p><p>· A pontuação máxima desta atividade avaliativa é de 100 pontos (100%);</p><p>· Seu desempenho nesta avaliação compõe a nota final das Avaliações Online (A1);</p><p>· O Trabalho da Disciplina (TD) deve ser realizado INDIVIDUALMENTE;</p><p>· Trabalhos que apresentarem transcrições de textos sem a devida referência -  segundo as normas da ABNT 6023 -  terão nota zero atribuída - “Cartilha Plágio (Links para um site externo.)”;</p><p>· O Trabalho que não for postado/enviado até o prazo terá nota zero, assim como aqueles que forem apenas salvos e não enviados para correção na data estipulada no calendário da disciplina;</p><p>· O Trabalho deverá ser postado somente no local específico para essa ação no Ambiente Virtual de Aprendizagem.</p><p>1. Superclasse</p><p>Crie uma superclasse chamada Veiculo que contenha atributos e métodos comuns às subclasses Aviao e Navio.</p><p>public class Veiculo {</p><p>protected String nome;</p><p>protected int capacidadeTanque;</p><p>protected int numeroPassageiros;</p><p>protected double preco;</p><p>protected String dataRevisao;</p><p>public Veiculo() {</p><p>// Construtor vazio</p><p>}</p><p>public Veiculo(String nome, int capacidadeTanque, int numeroPassageiros, double preco, String dataRevisao) {</p><p>this.nome = nome;</p><p>this.capacidadeTanque = capacidadeTanque;</p><p>this.numeroPassageiros = numeroPassageiros;</p><p>this.preco = preco;</p><p>this.dataRevisao = dataRevisao;</p><p>}</p><p>// Getters e Setters</p><p>// Método imprimir()</p><p>public void imprimir() {</p><p>System.out.println("Nome: " + nome);</p><p>System.out.println("Capacidade do Tanque: " + capacidadeTanque);</p><p>System.out.println("Número de Passageiros: " + numeroPassageiros);</p><p>System.out.println("Preço: " + preco);</p><p>System.out.println("Data de Revisão: " + dataRevisao);</p><p>}</p><p>// Método entrada() para entrada de dados pelo teclado</p><p>public void entrada() {</p><p>Scanner scanner = new Scanner(System.in);</p><p>try {</p><p>System.out.print("Nome: ");</p><p>nome = scanner.nextLine();</p><p>System.out.print("Capacidade do Tanque: ");</p><p>capacidadeTanque = scanner.nextInt();</p><p>System.out.print("Número de Passageiros: ");</p><p>numeroPassageiros = scanner.nextInt();</p><p>System.out.print("Preço: ");</p><p>preco = scanner.nextDouble();</p><p>scanner.nextLine(); // Consumir a nova linha</p><p>System.out.print("Data de Revisão: ");</p><p>dataRevisao = scanner.nextLine();</p><p>} catch (InputMismatchException e) {</p><p>System.out.println("Entrada inválida. Tente novamente.");</p><p>scanner.next(); // Limpar o scanner</p><p>}</p><p>}</p><p>}</p><p>2. Subclasses</p><p>Crie as subclasses Aviao e Navio que herdam de Veiculo.</p><p>public class Aviao extends Veiculo {</p><p>public Aviao() {</p><p>super();</p><p>}</p><p>public Aviao(String nome, int capacidadeTanque, int numeroPassageiros, double preco, String dataRevisao) {</p><p>super(nome, capacidadeTanque, numeroPassageiros, preco, dataRevisao);</p><p>}</p><p>public void reajustarPreco(double percentual) {</p><p>preco += preco * (percentual / 100);</p><p>}</p><p>}</p><p>public class Navio extends Veiculo {</p><p>private int numeroTripulantes;</p><p>public Navio() {</p><p>super();</p><p>}</p><p>public Navio(String nome, int capacidadeTanque, int numeroPassageiros, int numeroTripulantes, double preco, String dataRevisao) {</p><p>super(nome, capacidadeTanque, numeroPassageiros, preco, dataRevisao);</p><p>this.numeroTripulantes = numeroTripulantes;</p><p>}</p><p>public double passageirosPorTripulantes() {</p><p>return (double) numeroPassageiros / numeroTripulantes;</p><p>}</p><p>}</p><p>3. Aplicação</p><p>Crie a classe de aplicação que gerencia os objetos.</p><p>public class Aplicacao {</p><p>public static void main(String[] args) {</p><p>Veiculo[] veiculos = new Veiculo[20];</p><p>for (int i = 0; i < 10; i++) {</p><p>veiculos[i] = new Aviao();</p><p>veiculos[i + 10] = new Navio();</p><p>}</p><p>for (Veiculo veiculo : veiculos) {</p><p>veiculo.entrada();</p><p>veiculo.imprimir();</p><p>}</p><p>}</p><p>}</p><p>image1.jpeg</p>

Mais conteúdos dessa disciplina