exerciciosJava
nao estou conseguindo acessar meu github no momento entao fiz um temporario para hostear os exercicios
Pasta vazia.
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.