Projects

exerciciosJava

nao estou conseguindo acessar meu github no momento entao fiz um temporario para hostear os exercicios

College
Java
Files

Empty folder.

README

exerciciosJava

nao estou conseguindo acessar meu github no momento entao fiz um temporario para hostear os exercicios

perguntas exercicio 6:

meu chatGPT nao funciona:

"An error occurred. If this issue persists please contact us through our help center at help.openai.com. An error occurred. If this issue persists please contact us through our help center at help.openai.com. An error occurred. If this issue persists please contact us through our help center at help.openai.com. An error occurred. If this issue persists please contact us through our help center at help.openai.com."

entao vou usar o google:

1 - O que é programação orientada a objetos?

Uma forma de programar baseada em objetos

2 - Quais são os pilares da programação orientada a objetos?

Abstracao, Encapsulamento, Herança e Polimorfismo

3 - O que é uma classe em Java?

Um template para criar objetos

4 - Como criar um objeto a partir de uma classe em Java?

Usando o termo "new"

5 - O que faz a palavra new no Java?

Cria um objeto a partir de um classe

6 - Quais as semelhanças entre Java e C?

Ambas suportam orientacao a objetos

7 - Quais as diferenças entre Java e C?

C é uma linguagem compilada, ja o Java é compilada e interpretada ao mesmo tempo

8 - O que é a classe InputReader e qual é a sua função no programa?

Ler o input do usuario

9 - Qual é a finalidade do método readDouble na classe InputReader?

Transformar o valor em um double

10 - O que é a interface PaymentType e como ela é utilizada no programa?

boa pergunta

11 - Como a classe PaymentTypeSelector é responsável por selecionar o tipo de pagamento a ser utilizado?

Usando um switch case

12 - Qual é a relação entre a classe PaymentTypeSelector e as classes PixPayment, CreditPayment e BoletoPayment?

As classes PixPayment, CreditPayment e BoletoPayment utilizam a classe PaymentTypeSelector dentro dela

13 - O que é polimorfismo e como ele é utilizado no programa?

O uso de um elemento de varias formas diferentes, um exemplo no programa seria o PaymentTypeSelector

14 - Qual é a finalidade do método getName na interface PaymentType e nas classes que a implementam?

Retornar um nome

15 - O que é a classe Scanner e como ela é utilizada no programa?

Uma classe que le um input do usuario, é usada para ler o input do usuario

16 - O que é uma exceção e como ela é tratada no método selectPaymentType da classe PaymentTypeSelector?

Execao e algo fora do comum, ele é usada para ler um input do usuario

17 - Como seria possível adicionar um novo tipo de pagamento ao programa?

Criando uma classe nova para esse novo tipo de pagamento, o modelo dela seguiria o modelo das classes do Pix, Credito e Boleto

18 - Qual é a importância de utilizar interfaces no desenvolvimento de sistemas orientados a objetos?

Importante pois pode ser implementada de forma "anonima" em diversas classes

19 - Qual é a diferença entre uma classe abstrata e uma interface?

A principal diferenca é uma classe abstrata pode conter metodos abstratos e nao abstratos, enquanto a interface pode conter apenas metodos abstrator

20 - O que é encapsulamento e como ele é aplicado no programa?

É separar o programa em partes, foi aplicado no programa divindo as coisas em varios metodos e classes, cada uma cuidando de uma parte do programa

21 - Como seria possível melhorar a legibilidade do programa?

Usando encapsulamento e adicionando comentarios explicando o que cada coisa esta fazendo

22 - Qual é a finalidade da classe Main no programa?

Fazer tudo funcionar, ja que inicia a execucao do programa

23 - O que é um construtor padrão e quando ele é utilizado?

é um metodo que nos permite criar um objeto a partir de uma classe e adicionar um valor a suas variaveis ao mesmo tempo exemplo: Pessoa pessoa = new Pessoa(Pedro, 35) onde pedro é o nome e 35 é a idade

24 - Como é possível proteger o programa contra erros de entrada do usuário?

criando variaveis privadas com a keyword "private" e utilizando metodos getters e setters publicos. Dessa forma, podemos criar testes dentro dos metodos setters para garantir que a variavel receba apenas valores corretos.

25 - Qual é a importância de utilizar nomes descritivos para as classes, métodos e variáveis?

Organizacao e facilidade de outras pessoas entenderem o codigo

26 - O que é herança e como ela pode ser aplicada no programa?

é o que permite que uma classe herde da outra, pode ser aplicada quando varias classes sao muito parecidas, podemos criar uma classe principal e depois varias outras classes que herdam os dados dessa principal.

exemplo: classe Planeta é a principal, com variaveis gravidade e tempo de orbita. Podemos criar uma classe chamada Terra, que herda da classe Planeta. Dessa forma, Terra tera gravidade e tempo de orbita automaticamente, podemos entao adicionar a variavel populacao a Terra, ja que este é o unico planeta que utilizara esta variavel.

27 - Como é possível utilizar a sobrecarga de métodos no programa?