Bom Galera, não estou pedindo para ninguem fazer este exercício...Mas queria algumas dicas pra conseguir faze-lo.
Criar a classe abstrata Produto que terá como atributos:
int codigo
/* código do produto */
double precoCusto /* preço de custo do produto */
Deve ter o construtor e os métodos getters e setters.
=========================================================
Criar a interface Vendavel, que tem como método (abstrato)
getValorVenda( )
/* retorna o valor de venda do produto*/
=========================================================
Criar a classe Livro, herdeira de Produto, e que implementa a interface Vendavel, que terá os
atributos:
String nome
/* nome do livro */
String autor
/* autor do livro */
String isbn
/* isbn do livro */
Deve ter o construtor e os métodos getters e setters.
E deve implementar o método getValorVenda( ), que calcula o preço de venda como sendo o
preço de custo do livro mais 10%.
=========================================================
Criar a classe DVD, herdeira de Produto, e que implementa a interface Vendavel, que terá os
atributos:
String nome
/* nome do dvd */
String gravadora
/* nome da gravadora */
Deve ter o construtor e os métodos getters e setters.
E deve implementar o método getValorVenda( ), que calcula o preço de venda como sendo o
preço de custo do livro mais 20%.
=========================================================
Criar a classe Carrinho, que tem como atributos:
Vendavel[ ] vend;
/* array de itens vendáveis */
int quant;
/* quantidade de itens vendáveis no carrinho */
A classe Carrinho deve ter os métodos:
adicionaVendavel(Vendavel v) /* adiciona um item vendável no carrinho e incrementa quant*/
double calculaTotalVenda( )
/* calcula o total da venda dos itens do carrinho */
=========================================================
Criar a classe TestaCarrinho que terá o método main
Crie um objeto do tipo Livro e inicialize seus atributos.
Crie um objeto do tipo DVD e inicialize seus atributos.
Crie um objeto do tipo Carrinho e adicione o livro e o DVD criados.
(se preferir, crie mais objetos Livro e DVD e adicione-os ao carrinho)
Chame o método calculaTotalVenda( ) e imprima qual é o valor total das compras no carrinho.
================================================================
O que tenho até agora(Com ajuda de vocês):
Produto
package exe;
import javax.swing.JOptionPane;
public abstract class Produto{
int codigo;
double precoCusto;
public Produto(int cod, double precoCus) {
codigo = cod;
precoCusto = precoCus;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public double getPrecoCusto() {
return precoCusto;
}
public void setPrecoCusto(double precoCusto) {
this.precoCusto = precoCusto;
}
}
=============================================
Interface Vendavel
package exe;
public interface Vendavel{
double getValorVenda( );
}
=============================================//Retirei Get e sets pelo tamanho
Livro
import javax.swing.JOptionPane;
public class Livro extends Produto implements Vendavel {
String nome;
String autor;
String isbn;
public Livro(int cod, double precoCus, String n, String aut, String ISBN) {
super(cod, precoCus);
nome = n;
autor = aut;
isbn = ISBN;
}
public double getValorVenda() {
double valorVenda = 0;
valorVenda = getPrecoCusto() * 0.10;
return valorVenda;
}
}
============================================= //Retirei Get e sets pelo tamanho
DVD
import javax.swing.JOptionPane;
public class DVD extends Produto implements Vendavel{
String nome; // nome do dvd
String gravadora; // nome da gravadora
public DVD (int cod, double precoCus, String nom, String grav) {
super(cod, precoCus);
nome = nom;
gravadora = grav;
}
public double getValorVenda() {
double valorVenda = 0;
valorVenda = getPrecoCusto() * 0.20;
return valorVenda;
}
}
=============================================
Aqui começam os problemas....
Carrinho
import javax.swing.JOptionPane;
public class Carrinho {
Vendavel[ ] vend;
int quant;
Vendavel r = new Livro(quant, quant, null, null, null); // Criei Objeto para pegar informações do LIVRO
Vendavel j = new DVD(quant, quant, null, null); // Criei Objeto para pegar informações do DVD
void adicionaVendavel(Vendavel v){ /* adiciona um item vendavel no carrinho e incrementa quant*/
// Não faço ideia de como resolver isso
}
void calculaTotalVenda( ){ /* calcula o VALOR total da venda dos itens do carrinho */
double total = 0;
total = r.getValorVenda() + j.getValorVenda(); // Tentativa de calcular o valor total vendido
JOptionPane.showMessageDialog(null,total); // testa valor recebido
}
}
=============================================
TesteCarrinho
import javax.swing.JOptionPane;
public class TesteCarrinho {
public static void main(String[] args) {
Livro a = new Livro(0, 0, null, null, null);
DVD b = new DVD(0, 0, null, null);
Carrinho c = new Carrinho();
c.calculaTotalVenda();
}
}
As classe que tenho duvida, são a Carrinho e Teste Carrinho.
Na classe Carrinho, criei objeto de Livro e DVD, para poder pegar suas informações de valores...mas não deu certo.... Se alguem tivem algum dica pra eu concertar, agradeço!