Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Basisklassen als Methoden-Parameter ähnlich, wie in C++ ?
Ich habe eine sehr grundlegende Frage zuu Java.
Ich weiß leider nicht genau, wie ich danach googlen soll, also stelle ich die Frage einfach einmal hier ^^
In C++ kann man bei Methoden Parameter-Typen angeben.
Und das tolle dabei ist, dass man auch die Basisklassen als Typ angeben kann,
aber man kann der Methode trotzdem ein Objekt der abgeleiteten Klasse mitgeben.
Ohne Casten, oder sonst etwas.
Kann es sein, dass es dies bei Java in dieser Art nicht gibt?
class Baseclass{
}
class MyClass extends Baseclass{
}
class AnotherClass{
mymethod(Baseclass c){}
}
...
main{
MyClass m;
AnotherClass a;
a.mymethod(m);
}
Soetwas in der Art suche ich.
Wie funktioniert soetwas in Java?
public interface EdaAlarmData {
public int getAlarmClass();
public String getAlarmId();
public String getTimeStamp();
public String getAlarmText();
public Date getTimeStampAsDate();
public String toString();
}
public class DatCC300_Alarm implements EdaAlarmData{
private String mAlarmId= "default";
private int mAlarmClass= 0;
private String mTimeStamp= "default";
private Date mTimeStampAsDate = null;
private String mAlarmText= "default";
private SimpleDateFormat mDateFormat = null;
/*---------------------------------------------------------------
* CTOR
*/
public DatCC300_Alarm() {
mTimeStampAsDate = new Date();
mDateFormat = new SimpleDateFormat("yyyy'-'MM'-'dd'T'hh':'mm':'ss'.'SS");
}
/*---------------------------------------------------------------
* "Setters" to set alarm information
*/
public void setAlarmClass(int mAlarmClass) {
this.mAlarmClass = mAlarmClass;
}
public void setAlarmId(String mAlarmId) {
this.mAlarmId = mAlarmId;
}
public void setTimeStamp(String mTimeStamp) {
this.mTimeStamp = mTimeStamp;
try {
this.mTimeStampAsDate = mDateFormat.parse(mTimeStamp);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void setAlarmText(String mAlarmText) {
this.mAlarmText = mAlarmText;
}
/*---------------------------------------------------------------
* "Getters" to get information about the alarm
*/
public int getAlarmClass() {
return mAlarmClass;
}
public String getAlarmId() {
return mAlarmId;
}
public String getTimeStamp() {
return mTimeStamp;
}
public String getAlarmText() {
return mAlarmText;
}
public Date getTimeStampAsDate(){
return mTimeStampAsDate;
}
/*---------------------------------------------------------------
* allows to convert an alarm into a string
*/
public String toString(){
return "ID: " + mAlarmId + " \nCLASS: " + mAlarmClass + " \nTS: " + mTimeStamp + " \nTXT: " + mAlarmText + "\n";
}
}
public interface EdaCurrAlarmsListener {
/**
* @param alarms is a list of alarm objects. Get the attributes of a single alarm via get-methods.
*/
void dataChanged(final List<EdaAlarmData> alarms);
}