Fórum dúvidas em POO #459179

22/10/2013

0

Pessoal, como faço para criar uma classe da seguinte forma:

• Mídia(String título, int anoCriação). Construtor da classe que recebe os valores iniciais dos atributos
título e ano de criação.
• int getTipo(). Método abstrato que deve ser implementado pelas subclasses de Mídia.
Classe CD retorna 1, classe DVD retorna 2 e classe Jogo retorna 3.

eu fiz assim:

package br.ufscar.si.catalogo;

abstract class Mídia {

public Mídia(){
String título;
int anoCriação;
}
abstract int getTipo(){
public class CD;
return 1;
public class DVD;
return 2;
public class Jogo;
return 3;
}
}

tá certo?

outra coisa, preciso criar classe CD ...
Classe CD
A classe CD representa um CD de música e deve conter os seguintes atributos: artista (compositor/
intérprete da obra), a lista de faixas (máximo 15) e duração de cada faixa em segundos. Essa
classe deve conter pelo menos os seguintes métodos:
• CD(String título, int anoCriação, String artista). Construtor da classe que recebe os valores iniciais
dos atributos título, ano de criação e artista.
• void adicionaFaixa(String faixa, int duração). Método usado para adicionar uma faixa (e sua
duração) ao CD de música.
• int getTipo(). Reimplementação do método que retorna um inteiro que representa o tipo.
[CD = 1, DVD = 2 e Jogo = 3]
• void imprimeFicha(). Reimplementação do método que imprime uma ficha contendo os dados do
CD.
[Exemplo: ver ficha (a) apresentada anteriormente]

eu não sei fazer o void adicionaFaixa... é com get?

e este método getTipo, não entendi como funciona...

Alguém poderia me ajudar...

Um abraço!

Bruno Armentano

Bruno Armentano

Bruno Armentano

Responder

Posts

22/10/2013

Eduardo Pessoa

para melhor visualização


package br.ufscar.si.catalogo;

abstract class Mídia {

public Mídia(){
String título;
int anoCriação; 
}
abstract int getTipo(){
public class CD;
return 1;
public class DVD;
return 2;
public class Jogo;
return 3;
}
}

Responder

Gostei + 0

23/10/2013

Bruno Armentano

Pessoal, desculpem o excesso aqui, mas é a primeira vez que uso o forum...

consegui evoluir em algumas coisas...

ainda preciso aprender inserir o código aqui...

public class CD extends Mídia{

/*declaração do atributos da classe*/

private static final int FAIXAS = 15;
String artista; //atributos
int listadeFaixa = 0 ;
private Faixa[] faixas = new Faixa [FAIXAS];

/*Construtor da classe*/
public CD (String titulo, int anoCriacao, String artista){
super (titulo, anoCriacao);
this.artista = artista;
}

/*Declaração dos métodos da classe*/

public String getArtista(){
return artista;
}

public int getListadeFaixa(){
if (listadeFaixa > 15)
System.out.println("Numero de faixas excedido!");
else
return listadeFaixa;
return 0;
}


public int getTipo (){
return 1;
}

public void adicionaFaixa(String faixa, int duracao){
if(listadeFaixa > 15){
throw new IllegalArgumentException ("Faixas Excedidas");
}
faixas[listadeFaixa++] = new Faixa(faixa,duracao);
}


public void imprimeFicha(){
System.out.println("Titulo: " + this.getTitulo());
System.out.println("Ano: " + this.getAnoCriacao());
System.out.println("Tipo: " + this.getTipo());
System.out.println("Artista: "+ this.getArtista());
System.out.println("Faixa: "+ this.getFaixa());

}

}

ainda, estou com problema no imprimeFicha que é uma classe abstrata ...
fica uma exclamação neste linha private Faixa[] faixas = new Faixa [FAIXAS]; ... o que pode ser?

Pode ter melhorias também?

Um abraço!

Bruno
Responder

Gostei + 0

01/11/2013

Eduardo Pessoa

pode mostrar exatamente a mensagem que aparece?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar