Olá pessoal, bom dia!
Sou novo aqui no fórum e este é o meu segundo post. Gostei do meu primeiro post, pois recebi várias respostas da minha dúvida.
Quero pessoal, tirar a tarde de hoje para estudar POO com JAVA, claro, quero aproveitar esse tempo para tirar horas bem estudas e nada melhor de ter um bom conteudo para aprendizado.
Alguem conhece alguma apostila boa, Didática e de fato ensina conforme o modelo de programação abaixo:
package Conta;
public class ContaOuro extends ContaCorrente{
public double limite;
public ContaOuro(){}
public ContaOuro(String n, int nc, double s, double cpmf, double limite){
super(n, nc, s, cpmf);
this.limite = limite;
}
public void setLimite(double limite){
this.limite = limite;
}
public double getLimite(){
return limite;
}
public void informaSaque(double retirada){
double valor = super.getSaldo() - retirada;
if((valor + limite) >= 0){
super.setSaldo(valor);
}
}
}
package Conta;
public class ContaCorrente extends Conta {
public double cpmf;
public ContaCorrente(){}
public ContaCorrente(String n, int nc, double s, double cpmf){
super (n, nc, s);
this.cpmf = cpmf;
}
public void setCpmf(double cpmf){
this.cpmf = cpmf;
}
public double getCpmf(){
return cpmf;
}
public void informaSaque(double retirada){
double retiradaCpmf = retirada + (retirada * cpmf);
double valor = super.getSaldo() - retiradaCpmf;
if (valor >= 0){
super.setSaldo(valor);
}else{
System.out.println("Saldo Negativo");
}
}
}
package Conta;
public abstract class Conta {
public String nome;
public int numConta;
public double saldo;
public Conta(){}
public Conta(String n, int nc, double s){
nome = n;
numConta = nc;
saldo = s;
}
public void setNome (String nome){
this.nome = nome;
}
public String getNome(){
return nome;
}
public void setNumConta (int numConta){
this.numConta = numConta;
}
public int getNumConta(){
return numConta;
}
public void setSaldo(double saldo){
this.saldo = saldo;
}
public double getSaldo(){
return saldo;
}
public abstract void informaSaque(double retirada);
}
package Conta;
public class ContaInvestimento extends ContaCorrente {
public ContaInvestimento(String n, int nc, double s, double cpmf){
super(n, nc, s, cpmf);
}
public double calcularTarifa(){
return super.getSaldo()*0.10;
}
}
package Conta;
import java.util.Scanner;
public class Principal {
static ContaCorrente cliente;
public static void main(String []args){
String nome;
int numconta;
double saldo, cpmf, limite;
Scanner entra = new Scanner(System.in);
System.out.println("Digite o nome: "); nome = entra.next();
System.out.println("Digite a conta: "); numconta = entra.nextInt();
System.out.println("Digite o saldo: "); saldo = entra.nextDouble();
System.out.println("1- Conta Ouro / 2- Conta Investimento");
int op = entra.nextInt();
if(op == 1){
System.out.println("Digite o limite: "); limite = entra.nextDouble();
cliente = new ContaOuro(nome, numconta, saldo, 0.0,limite);
}else{ if(op == 2){
System.out.println("Digite o CPMF: "); cpmf = entra.nextDouble();
cliente = new ContaInvestimento(nome, numconta, saldo,cpmf);
}else{System.out.println("Opção Inválida!");}
}
System.out.println("Informe o Saque:");
double saque = entra.nextDouble();
cliente.informaSaque(saque);
System.out.println("Conta: " + cliente.getNumConta() + "Saldo: " + cliente.getSaldo());
}
}
Segue o enunciado abaixo:
[color=darkblue]Crie um programa em Java para manipular objetos da classe ContaCorrente criada na questão número 1. Na instâncias de Conta Ouro e de Conta Investimento, lidas a partir do teclado. No final da leitura dos objetos, escreva número da conta no console de saída e informe um saque para cada um dos objetos… Neste momento é obrigatória a chamada do método polimórfico presente nessas classes.
Observação:
? Utilize os métodos de manipulação do objeto para escrever e ler suas propriedades, inclusive na hora de escrevê-las na tela.[/color]
Consegui pessoal por conta própria e material que possuo de estudo, entender o funcionamento de cada metodo, porem quero de fato encaixar cada “linha” de código apresentada acima na minha mente, ter de fato o entendimento e assim poder encaixar caso necessario em outras linguagem.
Desde já agradeço mais uma vez pelas dicas aqui colocadas.
Abraços.