|
|
|
|
|
|
|
|
| Zitat von Renga
|
Code: |
public class Ship {
private int laenge;
public int getLaenge(){
return this.laenge;
}
}
|
|
|
Code: |
public class Fregate extends Ship {
private int laenge = 5;
}
|
|
Vielleicht dumme Frage, aber: Ich faends irgendwie ganz toll, wenn ich getLaenge() fuer Fregate nicht nochmal definieren muesste. Aber wenn ich das nicht mache und auf ne Instanz von Fregate getLaenge anwende, nimmt Java die vererbte Methode aus Ship und liest dann aber auch den Wert aus Ship aus. Geht das auch irgnedwie, dass das aus Fregate ausgelesen wird?
Beispiel:
|
Code: |
Fregate[][] a;
a = new Fregate[3][3];
Fregate b = new Fregate();
a[0][1] = b;
a[0][2] = b;
System.out.println(a[0][1].getLaenge());
System.out.println(a[0][1].getLaenge());
|
|
Mit dem Code von oben wird dann einfach "0,0" ausgegeben.
Mit einer Methode getLaenge() in der Klasse Fregate dann "5,5" also genau das was ich will. Nur muss ich eben die Methode nochmal definieren.
| |
Also wenn "laenge" protected wäre, könntest du es auch einfach im Konstruktor setzen. Allerdings gibt es einen Grund, weshalb es private ist.
Alternativ:
|
Code: |
public class Ship {
private int laenge;
public int getLaenge() { return this.laenge; }
protected void setLaenge(int laenge) { this.laenge = laenge; }
}
public class Fregate extends Ship {
public Fregate() {
this.setLaenge(5);
}
}
|
|
Allerdings ist das setzen von möglicherweise überschriebenen (in Java ist ja alles virtual, also überschreibbar) Eigenschaften im Konstruktor immer ein Risiko. Ich würde den "Pull" Ansatz bevorzugen, wo du die getLaenge Methode überschreibst.
|
|
|
|
|
|
|
|
Code: |
public class Fregatte extends Ship {
public Fregatte() {
super.setLaenge(5);
}
} |
|
Mit zwei t und mit super, aber ansonsten hätte ich das so gemacht.
|
|
|
|
|
|
|
| Zitat von Danzelot
|
Code: |
public class Fregatte extends Ship {
public Fregatte() {
super.setLaenge(5);
}
} |
|
Mit zwei t und mit super, aber ansonsten hätte ich das so gemacht.
| |
Hmm "super" wäre natürlich eine Möglichkeit sicherzustellen, dass nicht eine möglicherweise überschriebene Methode verwendet wird. In C# nennt sich das "base" und findet eigentlich nur in der überschriebenen Methode selbst Anwendung (wobei das für so einen Fall sehr praktisch aussieht).
Übrigens war ich zu faul, nachzusehen, wie man Fregatte nun schreibt.
|
|
|
|
|
|
|
| Zitat von Danzelot
|
Code: |
public class Fregatte extends Ship {
public Fregatte() {
super.setLaenge(5);
}
} |
|
Mit zwei t ...
| | Alternativ "Frigate".
Wobei Sprachenmixtur ("Ship" und "laenge") nie etwas erstrebenswertes im Code ist.
/: "Übrigens war ich zu faul, nachzusehen, wie man Fregatte nun schreibt." Wie man es spricht.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 22.02.2011 14:03]
|
|
|
|
|
|
| Zitat von igor]2
| Zitat von Smoking
| Zitat von Smoking
System.exit(0) wird doch eh nur benutzt, wenn die Anwendung planmäßig beendet wird. Wo ist da der Schaden?
btw. Nur noch formatieren, die Sourcen etwas tweaken, das ganze drucken lassen, alles nochmal auf CD brennen und ich bin endlich mit meiner BA durch. \o/
| |
Abgegeben. \o/
| |
Gluckwunsch.
| |
Danke, aber wohl erst morgen.
|
|
|
|
|
|
|
Wo ich grad einen kleineren bericht (14 Seiten) auf deutsch verfassen muss: Das hat echt Vorteile auf englisch zu schreiben. Ich neige leider dazu, sehr komplexe und verschachtelte Sätze zu formulieren, um auch wirklich ja den dazugehörigen Gedanken exakt abzubilden. Im englischen Sprachgebrauch passiert mir das eher nicht, weil ich es einfach nicht kann . Da hält man seine Aussagen erfrischen einfach.
|
|
|
|
|
|
|
warum nicht die Länge als parameter für den Konstruktor von Ship nutzen und dann bei Fregatte den Superkonstruktor aufrufen?
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Allerdings gibt es einen Grund, weshalb es private ist.
| |
Und zwar?
|
|
|
|
|
|
|
| Zitat von [Dicope]
| Zitat von [DK]Peacemaker
Allerdings gibt es einen Grund, weshalb es private ist.
| |
Und zwar?
| |
Weil sich der Autor der Basisklasse etwas dabei gedacht hat. Das war kein genereller Aufruf alle Felder private zu machen (könnte aber einer sein!).
|
|
|
|
|
|
|
Aktuelle House Folge ist bisher großes Kino (13 Minuten in).
|
|
|
|
|
|
|
| Zitat von TriggerTG
Wo ich grad einen kleineren bericht (14 Seiten) auf deutsch verfassen muss: Das hat echt Vorteile auf englisch zu schreiben. Ich neige leider dazu, sehr komplexe und verschachtelte Sätze zu formulieren, um auch wirklich ja den dazugehörigen Gedanken exakt abzubilden. Im englischen Sprachgebrauch passiert mir das eher nicht, weil ich es einfach nicht kann . Da hält man seine Aussagen erfrischen einfach.
| |
Ich hab auch lange überlegt, ob ich auf deutsch oder englisch schreiben soll. Englisch hätte den Vorteil gehabt, dass ich aus den Veröffentlichungen was mehr oder weniger übernehmen kann. Hab mich dann aber doch auf deutsch festgelegt, weil es doch flüssiger geht. Dafür such ich jetzt dauert Übersetzungen für englische Begriffe, die sich im deutschen dann nicht total bescheuert anhören; wie mans macht isses einfach verkehrt.
|
|
|
|
|
|
|
Danke, jungs.
Und es sollte eigentlich "frigate" heißen, ihr scheiss Rechtschreibnazis.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Elkano warum nicht die Länge als parameter für den Konstruktor von Ship nutzen und dann bei Fregatte den Superkonstruktor aufrufen? | |
Ja, das ist dann auch genau das was ich vorhabe. Danke.
|
|
|
|
|
|
|
Kann ich eigentlich in SVN einen Ordner mit zwei Repositories verknüpfen? Nachdem der Verantwortliche für einen Server anscheinend gerade aus Versehen das Repository geleert hat (nein, nicht wiederherstellbar) würde ich gerne die Commits auch noch auf meinen Server umleiten
|
|
|
|
|
|
|
wikipedia:"Frigör"
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von cms am 22.02.2011 17:39]
|
|
|
|
|
|
Hängt wohl vor allem von deinem SVN-Tool ab., Ist ja schließlich ne Applikations-Sache.
Tortoise kann es jedenfalls nicht, afaik.
|
|
|
|
|
|
|
Kann SVN glaube ich prinzipbedingt nicht. Man könnte aber auf dem Server ein post-commit-hook einsetzen der das aktuell repository automatisch noch zusätzlich woanders hin auscheckt. Oder wahlweise nach jedem commit ein svn-dump ausführt.
|
|
|
|
|
|
|
| Zitat von Nemi Ikara
| Zitat von TriggerTG
Wo ich grad einen kleineren bericht (14 Seiten) auf deutsch verfassen muss: Das hat echt Vorteile auf englisch zu schreiben. Ich neige leider dazu, sehr komplexe und verschachtelte Sätze zu formulieren, um auch wirklich ja den dazugehörigen Gedanken exakt abzubilden. Im englischen Sprachgebrauch passiert mir das eher nicht, weil ich es einfach nicht kann . Da hält man seine Aussagen erfrischen einfach.
| |
Ich hab auch lange überlegt, ob ich auf deutsch oder englisch schreiben soll. Englisch hätte den Vorteil gehabt, dass ich aus den Veröffentlichungen was mehr oder weniger übernehmen kann. Hab mich dann aber doch auf deutsch festgelegt, weil es doch flüssiger geht. Dafür such ich jetzt dauert Übersetzungen für englische Begriffe, die sich im deutschen dann nicht total bescheuert anhören; wie mans macht isses einfach verkehrt.
| |
Grad andersrum bei mir. Es faellt mir immer schwerer irgendwas auf Deutsch richtig zu formulieren
|
|
|
|
|
|
|
| Zitat von Danzelot
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 22.02.2011 17:06]
| |
|
|
|
|
|
|
|
|
|
|
|
ja das war höchstens 5cm kalt!
|
|
|
|
|
|
|
Sooo 55 Mins bis meine Ofenkartoffel fertig ist *wart*
|
|
|
|
|
|
|
Was passiert, wenn ich eine PHP-Seite habe wenn in den UTF-8 codierten PHP-Dateien Text aus eine Latin-1 kodierten Mysql-Datenbank ausgegeben wird und der ganze kram mit Charset=UTF-8 Header ausgegeben wird?
|
|
|
|
|
|
|
Ich glaube, dass in dem Fall keine Zeichensatzprobleme auftauchen. Zumindest meine ich bereits Fälle gehabt zu haben, wo auf Scriptseite alles auf UTF-8 gestellt war und die Datenbank auf Latin-1 lief.
|
|
|
|
|
|
|
Hmmm, eine ganze Weltregion ist im Umsturz. Wenn mich mal jemand im späten Lebensalter fragt, wie denn diese aufregende Zeit so war, so werd' ich da eigentlich nur erwidern können: "Keine Ahnung, hab nicht viel davon mitbekommen ".
|
|
|
|
|
|
|
|
|
|
|
| Zitat von TriggerTG
Hmmm, eine ganze Weltregion ist im Umsturz. Wenn mich mal jemand im späten Lebensalter fragt, wie denn diese aufregende Zeit so war, so werd' ich da eigentlich nur erwidern können: "Keine Ahnung, hab nicht viel davon mitbekommen ".
| | Geht mir ähnlich.
"Papa, was hast du gemacht als Nordafrika demokratisch geworden ist?"
- "Theoretische Informatik gelernt"
|
|
|
|
|
|
|
Wahrscheinlich war das mit allen Weltbewegenden Ereignissen so, und die Leute haben sich einfach passende Geschichten dazu ausgedacht.
Irgendwie hab ich 'n Déjà-vu. Ich könnte schwören, ich hab hier mit dem Thema schonmal angefangen.
|
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |