Abstrakte und konkrete Klasse

Wi-yvi

Mitglied
Hallo :toll:,

kann mir jemand bei der Lösung folgender Aufgabe helfen?

Java:
abstract class Aufgabe07Basis
{
abstract public void methode1( );
abstract public void methode2( );
}
public class Aufgabe07
extends Aufgabe07Basis
{
public void methode1( )
{ 
//Implementierung der methode1( )
}
public void methode2( )
{
//Implementierung der methode2( )
}
}

In diesem Beispiel sollen offensichtlich durch die abstrakte Basisklasse Aufgabe07Basis zwei Methoden vorgeben werden, die dann in einer abgeleiteten Klasse implementiert sein müssen, damit dies eine konkrete Klasse wird.
Wie können Sie dies besser lösen, ohne die eine in Java einzig mögliche Vererbungsbeziehung zu benutzen?


Vielen Dank 🙂
 
Muss ich es dann einfach zu einem Interface umschreiben?
Sieht es dann vielleicht so aus? ???:L

Java:
interface Aufgabe07Basis
{
public void methode1();
public void methode2();
}

public class Aufgabe07
implements Aufgabe07Basis
{
public void methode1()
{
// Implementierung der methode1()
}
public void methode2()
{
// Implementierung der methode2()
}
}
 
Du definierst ein Interface , dieses enthält abstrakte Methoden ohne Rumpf, alle Klassen die dieses Interface Implementieren müssen die Methoden überschreiben !

Java:
public interface MyInterface{

  public void methode1();
  public void methode2();

}

Java:
public class Aufgabe07Basis implements MyInterface{

  @Override
  public void methode1(){

  }

  @Override
  public void methode2(){

  }
}

falls du doch Vererbung nutzen sollst , solltest du die Aufgabe07Basis, wie der name schon sagt zu einer Basis, also einer Abstrakten Superklasse machen.

Java:
public abstract class Aufgabe07Basis{

 public abstract void methode1();
 public abstract void methode2();
}

auch hier müssen dann alle Klassen die diese Klasse erweitern diese Methoden überschreiben, da ich deine Vorgaben nicht kenne, kann ich dazu sonst nichts genaueres sagen.

Java:
public class Aufgabe07Sub extends Aufgabe07Basis{

 @Override
 public void methode1(){

 }

 @Override
 public void methode2(){

 }
}
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben