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

Prévia do material em texto

<p>UNIVERSIDADE VEIGA DE ALMEIDA</p><p>Superior de Tecnologia em Análise e Desenvolvimento de Sistemas EAD</p><p>Matheus Amaral Gomes</p><p>Matrícula: 20224302162</p><p>Disciplina: Programação orientada a objetos</p><p>Prof. Claudio Fico Fonseca</p><p>Classes, objetos e métodos de acesso</p><p>Rio de Janeiro 05/09/2024</p><p>RJ - 2024</p><p>O objetivo deste trabalho é demonstrar a aplicação prática dos conceitos fundamentais da programação orientada a objetos (POO) em Java, focando na criação e manipulação de classes e objetos. Especificamente, o projeto visa:</p><p>Implementar Classes e Objetos: Criar uma classe `Computador` que representa um modelo de objetos com atributos específicos, como marca, modelo, preço, memória RAM e armazenamento, exemplificando como os objetos são instanciados e utilizados em uma aplicação real.</p><p>Uso de Métodos Construtores: Demonstrar o uso de dois tipos de construtores em Java — um construtor default (sem parâmetros) e outro que recebe todos os atributos como parâmetros — para criar objetos de forma flexível e de acordo com as necessidades do programa.</p><p>Implementação de Métodos de Acesso (Getters e Setters): Implementar métodos de acesso para permitir a leitura e modificação segura dos atributos dos objetos, reforçando boas práticas de encapsulamento.</p><p>Exibição dos Atributos dos Objetos: Desenvolver um método chamado `imprimir` para exibir de forma estruturada os atributos dos objetos criados, facilitando a visualização e validação das informações.</p><p>Por meio deste projeto, buscamos consolidar o entendimento sobre como classes e objetos funcionam em Java, além de praticar a criação de métodos construtores e de acesso, que são pilares essenciais na programação orientada a objetos.</p><p>Códigos do projeto:</p><p>1. Classe Computador:</p><p>public class Computador {</p><p>// Atributos da classe Computador</p><p>private String marca;</p><p>private String modelo;</p><p>private double preco;</p><p>private int memoriaRAM;</p><p>private int armazenamento;</p><p>// Construtor default (sem parâmetros)</p><p>public Computador() {</p><p>}</p><p>// Construtor com todos os parâmetros</p><p>public Computador(String marca, String modelo, double preco, int memoriaRAM, int armazenamento) {</p><p>this.marca = marca;</p><p>this.modelo = modelo;</p><p>this.preco = preco;</p><p>this.memoriaRAM = memoriaRAM;</p><p>this.armazenamento = armazenamento;</p><p>}</p><p>// Métodos getters e setters</p><p>public String getMarca() {</p><p>return marca;</p><p>}</p><p>public void setMarca(String marca) {</p><p>this.marca = marca;</p><p>}</p><p>public String getModelo() {</p><p>return modelo;</p><p>}</p><p>public void setModelo(String modelo) {</p><p>this.modelo = modelo;</p><p>}</p><p>public double getPreco() {</p><p>return preco;</p><p>}</p><p>public void setPreco(double preco) {</p><p>this.preco = preco;</p><p>}</p><p>public int getMemoriaRAM() {</p><p>return memoriaRAM;</p><p>}</p><p>public void setMemoriaRAM(int memoriaRAM) {</p><p>this.memoriaRAM = memoriaRAM;</p><p>}</p><p>public int getArmazenamento() {</p><p>return armazenamento;</p><p>}</p><p>public void setArmazenamento(int armazenamento) {</p><p>this.armazenamento = armazenamento;</p><p>}</p><p>// Método para exibir todos os atributos</p><p>public void imprimir() {</p><p>System.out.println("Marca: " + marca);</p><p>System.out.println("Modelo: " + modelo);</p><p>System.out.println("Preço: " + preco);</p><p>System.out.println("Memória RAM: " + memoriaRAM + "GB");</p><p>System.out.println("Armazenamento: " + armazenamento + "GB");</p><p>System.out.println();</p><p>}</p><p>}</p><p>2. Classe TesteComputador</p><p>import java.util.Scanner;</p><p>public class TesteComputador {</p><p>public static void main(String[] args) {</p><p>Scanner scanner = new Scanner(System.in);</p><p>Computador[] computadores = new Computador[4];</p><p>// Criando dois objetos usando o construtor default</p><p>for (int i = 0; i < 2; i++) {</p><p>computadores[i] = new Computador();</p><p>System.out.println("Insira os dados do computador " + (i + 1) + ":");</p><p>System.out.print("Marca: ");</p><p>computadores[i].setMarca(scanner.nextLine());</p><p>System.out.print("Modelo: ");</p><p>computadores[i].setModelo(scanner.nextLine());</p><p>System.out.print("Preço: ");</p><p>computadores[i].setPreco(scanner.nextDouble());</p><p>System.out.print("Memória RAM (GB): ");</p><p>computadores[i].setMemoriaRAM(scanner.nextInt());</p><p>System.out.print("Armazenamento (GB): ");</p><p>computadores[i].setArmazenamento(scanner.nextInt());</p><p>scanner.nextLine(); // Consumir a quebra de linha restante</p><p>}</p><p>// Criando dois objetos usando o construtor com parâmetros</p><p>for (int i = 2; i < 4; i++) {</p><p>System.out.println("Insira os dados do computador " + (i + 1) + ":");</p><p>System.out.print("Marca: ");</p><p>String marca = scanner.nextLine();</p><p>System.out.print("Modelo: ");</p><p>String modelo = scanner.nextLine();</p><p>System.out.print("Preço: ");</p><p>double preco = scanner.nextDouble();</p><p>System.out.print("Memória RAM (GB): ");</p><p>int memoriaRAM = scanner.nextInt();</p><p>System.out.print("Armazenamento (GB): ");</p><p>int armazenamento = scanner.nextInt();</p><p>scanner.nextLine(); // Consumir a quebra de linha restante</p><p>computadores[i] = new Computador(marca, modelo, preco, memoriaRAM, armazenamento);</p><p>}</p><p>// Exibindo os atributos de todos os objetos</p><p>for (int i = 0; i < 4; i++) {</p><p>System.out.println("\nDados do computador " + (i + 1) + ":");</p><p>computadores[i].imprimir();</p><p>}</p><p>scanner.close();</p><p>}</p><p>}</p><p>Bibliografia:</p><p>Deitel, H. M., & Deitel, P. J. (2015). Java: Como Programar. 10ª Edição. Pearson.</p><p>Oracle Java Documentation (2024). Java Platform, Standard Edition Documentation.</p><p>Durante o desenvolvimento do projeto, alguns desafios encontrados incluíram a implementação correta dos construtores, o manejo adequado de entradas do usuário com o `Scanner`, e a organização do código para evitar redundâncias. Aprendemos a importância de entender profundamente a criação de classes, objetos, e métodos de acesso, além de aplicar boas práticas de programação orientada a objetos. A experiência reforçou habilidades em modularização do código, depuração, e compreensão da flexibilidade proporcionada pelos diferentes construtores na inicialização de objetos.</p><p>image1.PNG</p>

Mais conteúdos dessa disciplina