Jump to content
DiogoAfonso

métodos abstract e herança

Recommended Posts

DiogoAfonso

Boas pessoal,

tenho este trabalho para fazer:

uml.png

A classe Item e a Interface são dadas pelo enunciado

A Classe Item:

public abstract class Item {

private final String name; // nome do item
protected boolean locked; // se estiver a true o item não pode ser modificado

public Item (String n) {
	name = n;
}

public final String getName() {
	return name; 
}

public abstract double getPrice();

public abstract int getUnits();

public boolean contains (String n) {
	return name.contains(n);
}

public void print (String prefix) {
	System.out.print(prefix+name+" -> "+getPrice());
}
}

A Interface

public interface Reduction {
int getPercentage(); 
Item getItemBase();
}

A minha dúvida é:

- Na Classe Item está um método abstract getUnits();

Só que na Classe Product, por exemplo, como herda a Classe Item eu tenho de escrever o método.

O problema é que não existe nenhuma variável unit para poder fazer o return dessa mesma unidade.

Estarei a pensar mal?

Ou há solução para o problema?

Cumprimentos e obrigado ;)

Share this post


Link to post
Share on other sites
brunoais

Crias tu a variável.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
DiogoAfonso

Crio na classe Item, certo?

Acho estranho eles não terem logo metido isso no enunciado lol

Share this post


Link to post
Share on other sites
brunoais

Errado, cria a variável unit.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
DiogoAfonso

O que quis dizer é criar a variavel unit na classe Item.

É isso, certo?

Share this post


Link to post
Share on other sites
Baderous

Lá por o método se chamar getUnit não quer dizer que seja um selector de uma variável de nome unit. Por norma, é isso que acontece, mas não quer dizer que esse método não possa fazer outra coisa qualquer inventada nesse trabalho. E para isso ser um método abstracto, tenho dúvidas se o objectivo será adicionar a variável.

Share this post


Link to post
Share on other sites
DiogoAfonso

Sendo assim, vou falar com o engenheiro na próxima aula ;)

Obrigado pela ajuda!

Share this post


Link to post
Share on other sites
pedrotuga

O problema aqui é que não sabes o que é que é suposto fazeres. Os padrões de software NÃO servem para especificar implementações.

Share this post


Link to post
Share on other sites
DiogoAfonso

O problema aqui é que não sabes o que é que é suposto fazeres. Os padrões de software NÃO servem para especificar implementações.

Bem verdade xD

O melhor é mesmo perguntar ao engenheiro e ler melhor o enunciado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.