Você está na página 1de 12

UNIVERSIDADE VEIGA DE ALMEIDA

Tecnólogo em Analise de Desenvolvimento de Sistemas


EAD

Aluna: Gabriel Silva dos Santos


Matrícula: 1220107673
Disciplina: Programação Orientada a Objeto
Tutor: Claudio Fico Fonseca

Classes, objetos e métodos de acesso

Rio de Janeiro/RJ

2023

1
Índice
Introdução: 3
Trabalho: 4
Código da classe Computador: 4
Código da classe AplicacaoComputador: 7
Resultados obtidos após a execução da aplicação “Computador” no ambiente de desenvolvimento : 8
Resultados obtidos após a execução da aplicação “AplicacaoComputador” no ambiente de desenvolvimento: 9
CONCLUSÃO: 11
BIBLIOGRAFIA: 12

2
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.

3
Trabalho

Código da Classe Computador

/**
*
* @author Gabriel Silva dos Santos
*/
public class Computador {
private String marca;
private String modelo;
private int ano;
private double preco;
private boolean ligado;

// Construtor sem parâmetros (construtor default)


public Computador() {
// Valores padrão ou vazios para os atributos
this.marca = "";
this.modelo = "";
this.ano = 0;
this.preco = 0.0;
this.ligado = false;
}

// Construtor com parâmetros


public Computador(String marca, String modelo, int ano, double preco, boolean ligado) {
this.marca = marca;
this.modelo = modelo;
this.ano = ano;
this.preco = preco;
this.ligado = ligado;
}

// Métodos de acesso (getters) para cada atributo


public String getMarca() {
return marca;

4
}

public String getModelo() {


return modelo;
}

public int getAno() {


return ano;
}

public double getPreco() {


return preco;
}

public boolean isLigado() {


return ligado;
}

// Métodos de modificação (setters) para cada atributo


public void setMarca(String marca) {
this.marca = marca;
}

public void setModelo(String modelo) {


this.modelo = modelo;
}

public void setAno(int ano) {


this.ano = ano;
}

public void setPreco(double preco) {


this.preco = preco;
}

public void setLigado(boolean ligado) {


this.ligado = ligado;
}

5
// Método para exibir todos os atributos
public void imprimir() {
System.out.println("Marca: " + marca);
System.out.println("Modelo: " + modelo);
System.out.println("Ano: " + ano);
System.out.println("Preço: " + preco);
System.out.println("Ligado: " + (ligado ? "Sim" : "Não"));
}

public static void main(String[] args) {


// Exemplo de uso da classe
Computador computador1 = new Computador();
computador1.setMarca("Samsung");
computador1.setModelo("Samsung Super");
computador1.setAno(2028);
computador1.setPreco(2500.0);
computador1.setLigado(true);

Computador computador2 = new Computador("HP", "Super Pavilion", 2027, 1800.0, false);

computador1.imprimir();
System.out.println();
computador2.imprimir();
}
}

6
Código da classe AplicacaoComputador

/**
*
* @author Gabriel
*/
import java.util.Scanner;

public class AplicacaoComputador {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

// Instanciando objetos usando diferentes construtores


Computador computador1 = new Computador();
Computador computador2 = new Computador();
Computador computador3 = new Computador("Lenovo", "IdeaPad", 2022, 1800.0, true);
Computador computador4 = new Computador("Acer", "Aspire", 2021, 1500.0, false);

// Preenchendo os atributos dos objetos criados


System.out.println("Preencha os atributos do primeiro computador:");
System.out.print("Marca: ");
computador1.setMarca(scanner.nextLine());
System.out.print("Modelo: ");
computador1.setModelo(scanner.nextLine());
System.out.print("Ano: ");
computador1.setAno(Integer.parseInt(scanner.nextLine()));
System.out.print("Preço: ");
computador1.setPreco(Double.parseDouble(scanner.nextLine()));
System.out.print("Ligado (true/false): ");
computador1.setLigado(Boolean.parseBoolean(scanner.nextLine()));

System.out.println("Preencha os atributos do segundo computador:");


System.out.print("Marca: ");
computador2.setMarca(scanner.nextLine());
System.out.print("Modelo: ");
computador2.setModelo(scanner.nextLine());
System.out.print("Ano: ");
computador2.setAno(Integer.parseInt(scanner.nextLine()));

7
System.out.print("Preço: ");
computador2.setPreco(Double.parseDouble(scanner.nextLine()));
System.out.print("Ligado (true/false): ");
computador2.setLigado(Boolean.parseBoolean(scanner.nextLine()));

// Exibindo os atributos dos quatro objetos


System.out.println("\nAtributos do primeiro computador:");
computador1.imprimir();
System.out.println("\nAtributos do segundo computador:");
computador2.imprimir();
System.out.println("\nAtributos do terceiro computador:");
computador3.imprimir();
System.out.println("\nAtributos do quarto computador:");
computador4.imprimir();

scanner.close();
}
}

Resultados obtidos após a execução da aplicação “Computador” no


ambiente de desenvolvimento

cd C:\Users\Gabriel\Documents\NetBeansProjects\ava1teste; "JAVA_HOME=C:\\Program Files\\Java\\


jdk-20" cmd /c "\"C:\\Program Files\\NetBeans-18\\netbeans\\java\\maven\\bin\\mvn.cmd\" -
Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\"
\"-Dexec.executable=C:\\Program Files\\Java\\jdk-20\\bin\\java.exe\" -
Dexec.mainClass=com.mycompany.ava1teste.Computador -Dexec.classpathScope=runtime -
Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\NetBeans-18\\netbeans\\java\\maven-nblib\\
netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-
plugin:3.1.0:exec"
Scanning for projects...

----------------------< com.mycompany:ava1teste >-----------------------


Building ava1teste 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------

--- resources:3.3.0:resources (default-resources) @ ava1teste ---

8
skip non existing resourceDirectory C:\Users\Gabriel\Documents\NetBeansProjects\ava1teste\src\main\
resources

--- compiler:3.10.1:compile (default-compile) @ ava1teste ---


Changes detected - recompiling the module!
Compiling 3 source files to C:\Users\Gabriel\Documents\NetBeansProjects\ava1teste\target\classes

--- exec:3.1.0:exec (default-cli) @ ava1teste ---


Marca: Samsung
Modelo: Samsung Super
Ano: 2028
Preço: 2500.0
Ligado: Sim

Marca: HP
Modelo: Super Pavilion
Ano: 2027
Preço: 1800.0
Ligado: Não
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 1.321 s
Finished at: 2023-08-31T04:07:31-03:00

Resultados obtidos após a execução da aplicação “AplicacaoComputador”


no ambiente de desenvolvimento

cd C:\Users\Gabriel\Documents\NetBeansProjects\ava1teste; "JAVA_HOME=C:\\Program Files\\Java\\jdk-


20" cmd /c "\"C:\\Program Files\\NetBeans-18\\netbeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-
Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" \"-
Dexec.executable=C:\\Program Files\\Java\\jdk-20\\bin\\java.exe\" -
Dexec.mainClass=com.mycompany.ava1teste.AplicacaoComputador -Dexec.classpathScope=runtime -
Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\NetBeans-18\\netbeans\\java\\maven-nblib\\
netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-
plugin:3.1.0:exec"
Scanning for projects...

9
----------------------< com.mycompany:ava1teste >-----------------------
Building ava1teste 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------

--- resources:3.3.0:resources (default-resources) @ ava1teste ---


skip non existing resourceDirectory C:\Users\Gabriel\Documents\NetBeansProjects\ava1teste\src\main\
resources

--- compiler:3.10.1:compile (default-compile) @ ava1teste ---


Nothing to compile - all classes are up to date

--- exec:3.1.0:exec (default-cli) @ ava1teste ---


Preencha os atributos do primeiro computador:
Marca: marca1
Modelo: modelox
Ano: 2222
Preço: 6666
Ligado (true/false): true
Preencha os atributos do segundo computador:
Marca: marca2
Modelo: modeloy
Ano: 2223
Preço: 6777
Ligado (true/false): false

Atributos do primeiro computador:


Marca: marca1
Modelo: modelox
Ano: 2222
Preço: 6666.0
Ligado: Sim

Atributos do segundo computador:


Marca: marca2
Modelo: modeloy
Ano: 2223
Preço: 6777.0
Ligado: Não

10
Atributos do terceiro computador:
Marca: Lenovo
Modelo: IdeaPad
Ano: 2022
Preço: 1800.0
Ligado: Sim

Atributos do quarto computador:


Marca: Acer
Modelo: Aspire
Ano: 2021
Preço: 1500.0
Ligado: Não
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 47.775 s
Finished at: 2023-08-31T04:11:28-03:00
------------------------------------------------------------------------

Conclusão
Neste estudo, foi abordado os princípios essenciais da programação orientada a
objetos em Java. Aprendi a criar uma classe personalizada com atributos, construtores e
métodos de acesso. Além disso, construí uma aplicação que instanciou e preencheu
objetos da classe Computador, demonstrando a flexibilidade e organização da POO para
modelar o mundo real em código. Com esse conhecimento, me sinto mais capacitado a
criar e manipular objetos de forma eficiente e estruturada em Java.

11
Bibliografia/Referências:
https://ead.uva.br/disciplinas/grad/publica/cont/pqr/poo1/eb/POO1_ebook.pdf

https://www.cursoemvideo.com/course/java-poo/aulas/java-poo/modulos/exemplo-
pratico-com-objetos/
Video aulas: https://uva.instructure.com/courses/36173/modules/items/592771

12

Você também pode gostar