Hallo Freunde,
ich muss in UML testen wie mein Werkzeug ein bekanntes Problem was aus Mehrfachvererbung besteht in Klassen etc umsetzt.
Dabei habe ich mich zur Simulation an diesen Sachverhalt gehalten:
Mir ist bewusst, dass Java keine richtige Mehrfachvererbung kann und dieses mit Hilfe von Interfaces ähnlich nachbilden kann bzw. versucht. In Rational Rose habe ich somit das obige Bild gezeichnet und anschließend umsetzen lassen, dass ging auch wirklich super, nur erbt meine Klasse Amphibienfahrzeug lediglich von Wasserfahrzeug. Weder wird hier noch ein Interface implementiert noch sonst wie die Brücke zum Landfahrzeug geschlagen.
Das kann doch nichtig sein, oder gerät da dass Werkzeug an seine Sprachgrenzen, die ja nicht zuletzt von Java gesetzt werden und es geht schlichtweg nicht?
Vielen Dank für Eure Antworten.
Hier ist der generierte Code:
ich muss in UML testen wie mein Werkzeug ein bekanntes Problem was aus Mehrfachvererbung besteht in Klassen etc umsetzt.
Dabei habe ich mich zur Simulation an diesen Sachverhalt gehalten:
Mir ist bewusst, dass Java keine richtige Mehrfachvererbung kann und dieses mit Hilfe von Interfaces ähnlich nachbilden kann bzw. versucht. In Rational Rose habe ich somit das obige Bild gezeichnet und anschließend umsetzen lassen, dass ging auch wirklich super, nur erbt meine Klasse Amphibienfahrzeug lediglich von Wasserfahrzeug. Weder wird hier noch ein Interface implementiert noch sonst wie die Brücke zum Landfahrzeug geschlagen.
Das kann doch nichtig sein, oder gerät da dass Werkzeug an seine Sprachgrenzen, die ja nicht zuletzt von Java gesetzt werden und es geht schlichtweg nicht?
Vielen Dank für Eure Antworten.
Hier ist der generierte Code:
Code:
/*
* Created on 30.05.2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author ven000m
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
* @uml.annotations
* derived_abstraction="platform:/resource/Mehrfachvererbung/Mehrfachvererbung.emx#_yX9p4O8AEdqdgJZipxdEcQ"
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public class Wasserfahrzeug {
/**
* Comment for <code>Tiefgang</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Tiefgang;
/**
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public void KmFahren() {
// TODO Auto-generated method stub
}
}
Code:
/**
* @author ven000m
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
* @uml.annotations
* derived_abstraction="platform:/resource/Mehrfachvererbung/Mehrfachvererbung.emx#_xUA5kO8AEdqdgJZipxdEcQ"
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public class Landfahrzeug {
/**
* Comment for <code>Raederzahl</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Raederzahl;
/**
* Comment for <code>Zuladung</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Zuladung;
/**
* Comment for <code>Person</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Person;
/**
* @param intZuladung
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public void Zuladung(Object intZuladung) {
// TODO Auto-generated method stub
}
/**
* @param intperson
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public void AddPerson(Object intperson) {
// TODO Auto-generated method stub
}
}
Code:
import java.util.Set;
/**
* @author ven000m
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
* @uml.annotations
* derived_abstraction="platform:/resource/Mehrfachvererbung/Mehrfachvererbung.emx#_zcg3IO8AEdqdgJZipxdEcQ"
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public class Amphibienfahrzeug extends Wasserfahrzeug {
/**
* Comment for <code>landfahrzeug</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Set landfahrzeug;
/**
* Comment for <code>Sitzplaetze</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Sitzplaetze;
/**
* Comment for <code>Antriebsleistung</code>
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
private Integer Antriebsleistung;
/**
* @generated "UML in Java (com.ibm.xtools.transform.uml2.java.internal.UML2JavaTransform)"
*/
public void voidAnzeigen() {
// TODO Auto-generated method stub
}
}