Prévia do material em texto
UNIVERSIDADE VEIGA DE ALMEIDA GRADUAÇÃO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CLASSES, OBJETOS E MÉTODOS DE ACESSO. JAIME DE MELO MORAES MATRÍCULA:1220200564 DUQUE DE CAXIAS 2024 JAIME DE MELO MORAES MATRÍCULA:1220200564 CLASSES, OBJETOS E MÉTODOS DE ACESSO. Trabalho apresentado para avaliação da disciplina Programação orientada a objeto I Curso superior em análise e desenvolvimento de sistema da instituição Veiga de almeida ministrado pelo professor Claudio Fico Fonseca. Trabalho da disciplina – AVA 1 Transcrição do enunciado. Classes, objetos e métodos de acesso Implementar uma classe modelo em Java e desenvolver uma aplicação de teste para criação e uso de diferentes objetos desse modelo. Crie uma classe com cinco atributos para a criação de objetos do tipo Computador. A classe deve possuir dois métodos construtores, um sem parâmetros (construtor default) e outro com os cinco parâmetros relacionados aos atributos da classe Computador. Além disso, a classe deve conter os métodos de acesso (setters e getters) para cada atributo e um método de exibição de todos os atributos denominado imprimir. Crie uma outra aplicação (Classe) que instancie quatro objetos do tipo Computador, preencha os atributos com dados solicitados ao usuário e ao final exiba todos os atributos dos quatro objetos criados invocando o método imprimir. Para criar os quatro objetos, com a metade utilize o construtor default, e com a outra metade utilize o construtor que recebe todos os atributos. Desenvolva a classe e a aplicação separadamente. O projeto deve, então, ser documentado em um arquivo do Word e postado no ambiente de avaliação. Enviar também os arquivos fonte (.java) das duas aplicações. Como é um documento institucional, o arquivo deve ter: • Capa (detalhando a instituição e o curso). • Contracapa (detalhando a disciplina, professor e membros do grupo). • Índice. • Introdução. • Conteúdo: código da classe principal, código da classe de aplicação de teste e os resultados obtidos após a execução da aplicação no ambiente de desenvolvimento. • Conclusão do trabalho. • Bibliografia. INTRODUÇÃO: No vasto mundo da programação orientada a objetos, as Classes, Objetos e Métodos de Acesso servem como os pilares fundamentais que possibilitam a organização e o funcionamento eficiente de sistemas complexos. Ao adentrar nesse universo, nos deparamos com conceitos que não apenas moldam a estrutura do código, mas também influenciam diretamente na sua legibilidade, manutenção e escalabilidade. As Classes, como estruturas abstratas, definem os atributos e comportamentos que os objetos podem possuir, representando entidades ou conceitos do mundo real. São elas que fornecem o modelo a partir do qual os objetos são criados, estabelecendo assim uma espécie de esqueleto para a instância de um objeto específico. Por outro lado, os Objetos são instâncias concretas dessas Classes, possuindo valores específicos para os atributos e capazes de executar os métodos definidos pela sua Classe mãe. Entretanto, a interação com esses objetos não ocorre de forma indiscriminada. Métodos de Acesso desempenham um papel crucial ao definir como os atributos de um objeto podem ser acessados e modificados, garantindo assim a encapsulação e a proteção dos dados. Seja através de métodos de leitura (getters) que permitem acessar os valores dos atributos de forma controlada, ou de métodos de escrita (setters) que regulam as alterações nos valores dos atributos, os Métodos de Acesso fornecem uma camada de segurança e abstração que é essencial para a integridade e confiabilidade do sistema. Neste trabalho, exploraremos mais profundamente os conceitos de Classes, Objetos e Métodos de Acesso, analisando suas características, aplicações e melhores práticas. Veremos como esses elementos trabalham em conjunto para criar sistemas robustos e flexíveis, e como seu entendimento é fundamental para qualquer desenvolvedor que almeje dominar a arte da programação orientada a objetos. CÓDIGO DE CLASSE PRINCIPAL: // Arquivo: Computador.java public class Computador { // Atributos private String marca; private String modelo; private String processador; private int ramGB; private double armazenamentoTB; // Construtores public Computador() { // Construtor default } public Computador(String marca, String modelo, String processador, int ramGB, double armazenamentoTB) { this.marca = marca; this.modelo = modelo; this.processador = processador; this.ramGB = ramGB; this.armazenamentoTB = armazenamentoTB; } // Métodos de acesso public String getMarca() { return marca; } public void setMarca(String marca) { this.marca = marca; } public String getModelo() { return modelo; } public void setModelo(String modelo) { this.modelo = modelo; } public String getProcessador() { return processador; } public void setProcessador(String processador) { this.processador = processador; } public int getRamGB() { return ramGB; } public void setRamGB(int ramGB) { this.ramGB = ramGB; } public double getArmazenamentoTB() { return armazenamentoTB; } public void setArmazenamentoTB(double armazenamentoTB) { this.armazenamentoTB = armazenamentoTB; } // Método para exibir todos os atributos public void imprimir() { System.out.println("Marca: " + marca); System.out.println("Modelo: " + modelo); System.out.println("Processador: " + processador); System.out.println("RAM: " + ramGB + "GB"); System.out.println("Armazenamento: " + armazenamentoTB + "TB"); System.out.println(); } } CÓDIGO DE CLASSE DE APLICAÇÃO DE TESTE: // Arquivo: AplicacaoTeste.java import java.util.Scanner; public class AplicacaoTeste { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Criando quatro objetos Computador Computador[] computadores = new Computador[4]; // Preenchendo os atributos dos computadores for (int i = 0; i < 4; i++) { Computador comp; if (i < 2) { comp = new Computador(); // Usando o construtor default para metade dos objetos } else { // Usando o construtor que recebe todos os atributos para a outra metade System.out.println("Digite a marca do computador:"); String marca = scanner.nextLine(); System.out.println("Digite o modelo do computador:"); String modelo = scanner.nextLine(); System.out.println("Digite o processador do computador:"); String processador = scanner.nextLine(); System.out.println("Digite a quantidade de RAM em GB:"); int ram = Integer.parseInt(scanner.nextLine()); System.out.println("Digite a capacidade de armazenamento em TB:"); double armazenamento = Double.parseDouble(scanner.nextLine()); comp = new Computador(marca, modelo, processador, ram, armazenamento); } computadores[i] = comp; } // Exibindo os atributos dos computadores for (Computador comp : computadores) { comp.imprimir(); } scanner.close(); } } CONCLUSÃO: Neste trabalho, desenvolvemos uma aplicação simples para manipulaçãode objetos da classe Computador. Utilizando os conceitos de encapsulamento, construtores e métodos de acesso, implementamos uma classe Computador que permite a criação e manipulação de objetos computador com atributos como marca, modelo, processador, quantidade de RAM e capacidade de armazenamento. Além disso, criamos uma classe de aplicação de teste que permite ao usuário inserir os detalhes dos computadores e exibi-los na saída padrão. Este exercício demonstra a importância do encapsulamento e da modularidade na construção de programas orientados a objetos, facilitando a manutenção e reutilização do código. BIOGRAFIA: Este trabalho representa um marco na jornada de aprendizado em programação orientada a objetos do desenvolvedor. Iniciando com os fundamentos essenciais, como encapsulamento, construtores e métodos de acesso, ele mergulhou na criação da classe Computador, um componente central na computação moderna. Ao longo dessa jornada, o desenvolvedor explorou os princípios de modularidade e reutilização de código, essenciais para a construção de sistemas robustos e escaláveis. REFERENCIAS: E-book (instructure.com) Vídeos da disciplina (instructure.com) Métodos, atributos e classes no Java: Modificadores de acesso (devmedia.com.br) Poo - Java (Aula 1 - Classes, Objetos, Atributos e Métodos) (youtube.com) https://uva.instructure.com/courses/39531/modules/items/642175 https://uva.instructure.com/courses/39531/modules/items/642176 https://www.devmedia.com.br/metodos-atributos-e-classes-no-java/25404 https://www.devmedia.com.br/metodos-atributos-e-classes-no-java/25404 https://www.youtube.com/watch?v=ohmHbdUhAGc https://www.youtube.com/watch?v=ohmHbdUhAGc Classes, objetos e métodos de acesso