2014-12-09 5 views
0

Я сделал метод в абстрактном классе именно метод Строка ToString()Изменение метода абстрактного класса в подклассе

public String toString() { 
    String res ="(" + Character.toString(propositieletter1) + " " + symboolconstante + " " + Character.toString(propositieletter2) + ")"; 
    return res; 

} 

это метод моего абстрактного метода, мои подклассы должны использовать этот метод, измените «symboolconstante». Я понятия не имею, как я могу это сделать, не возвращая весь метод в моем подклассе.

ответ

0

заменить symboolconstante вызовом метода symboolconstante(). Каждый подкласс может переопределить этот метод.

В абстрактном классе вы можете определить, что это аннотация:

protected abstract String symboolconstante(); 

В каждом подклассе переопределить его:

@Override 
protected String symboolconstante() 
{ 
    return "something"; 
} 

И toString() метод абстрактного класса был бы вызывать этот метод:

public String toString() { 
    String res ="(" + Character.toString(propositieletter1) + " " + symboolconstante() + " " + Character.toString(propositieletter2) + ")"; 
    return res; 

} 
0

в абстрактном классе определите поле (личное и финское аль), а затем инициализирует поле в застройщик

public abstract class AbstractClass { 
    private final String symboolconstante; 

    public AbstractClass (final String symbool) { 
     this.symboolconstante = symbool; 
    } 
} 

в суб-класса (ов) внести изменения в конструктор, чтобы передать в значение для абстрактного класса

public class SubClass extends AbstractClass { 
    public SubClass() { 
    super("+"); 
    } 
} 
0

Изменить абстрактный метод ToString, чтобы принимать в качестве параметра

public String toString(final String symboolconstante) { 
    String res ="(" + Character.toString(propositieletter1) + " " + symboolconstante + " " + Character.toString(propositieletter2) + ")"; 
    return res; 

} 

затем в подклассов переопределить ToString переходящего в параметре:

@Override 
public String toString() { 
    return super.toString("+"); 
} 
Смежные вопросы