2012-03-28 11 views
-1

Ich arbeite an einem großen Projekt, das wie Excel funktioniert.Ich habe eine Klasse, die eine Tabelle, eine Klasse, die als Client arbeitet, eine Wertklasse, NumberValue-Klasse, TextValue-Klasse, eine RealNumber-Klasse . Die realNumberValue-Klasse erweitert die NumberValue-Klasse und die NumberValue-Klasse und die TextValue-Klasse erweitert den Value CLass. (Vererbung) Ich muss wissen, wie man ein Zeichenkettenfeld eingibt, einen Konstruktor, der den Parameter dem Feld in dieser TextValue Klasse zuweist. Bitte brauche ich wirklich Hilfe.So speichern Sie in einem TextWert

Dies ist der Code, den ich bisher habe, es ist nicht viel:

public class TextValue extends Value { 
    public String toString(){ 
     return; 
    } 
    public boolean isText() { 
     return true; 
    } 
} 
+0

Bitte überprüfen Sie die Liste der Antworten im Zusammenhang mit Learning Java: http://StackOverflow.com/Questions/77839/what-are-the-Best-Resources-for-Learning-Java-Books-Websites-etc – Jayan

Antwort

0
public class TextValue extends Value { 
    String field; 
    public TextValue(String field){ 
      this.field = field; 
    } 
    //do some more code 
} 
0

es auf der Wertklasse abhängig ist, wenn seine abstrakten und keine Felder haben, dann werden alle Ihre Arbeit Sei in den Child-Klassen, füge einfach Member-Variablen hinzu und initialisiere sie, wenn du im Konstruktor willst.

public class TextValue extends Value { 
    public TextValue(final String text) { 
     this.text = text; 
    } 

    public String toString(){ 
     return text; 
    } 
    public boolean isText() { 
     return !text.isEmpty(); // it depend on what you want to do 
    } 

    private final String text; 
} 

aber wenn der Wert einen Wert im Konstruktor benötigen, sollten Sie es von der Kind-Klasse übergeben:

public class TextValue extends Value { 
    public TextValue(final String valueClassParam, final String text) { 
     super(valueClassParam); 
     this.text = text; 
    } 

    public String toString(){ 
     return text; 
    } 
    public boolean isText() { 
     return !text.isEmpty(); // it depend on what you want to do 
    } 

    private final String text; 
} 

hier initialisieren wir die übergeordnete Klasse mit valueClassParam.