1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Java Abstrakte Klassen Grundlagen

  • Shitstorm
  • 5. Dezember 2013 um 20:15
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Shitstorm
    Punkte
    15
    Beiträge
    2
    • 5. Dezember 2013 um 20:15
    • #1

    Tag miteinander =)

    Ich hätte da eine grundliegende und glaub ich auch leicht zu beantwortende Frage an euch:
    stehe da leider mit dem Verständnis der Fragenstellung auf dem Schlauch...

    Können Abstrakte Klassen von mehreren Klassen erben?
    Und "erbt" die erstellte Subklasse die abstrakte Klasse oder wie heißt das genau?

  • Privacy
    Punkte
    157
    Beiträge
    30
    • 5. Dezember 2013 um 21:03
    • #2

    Also eine abstrakte Klasse kann von einer anderen abstrakten Klasse erben, jedoch kann eine Klasse immer nur von genau einer anderen Klasse erben (diese könnte aber wiederum von einer weiteren anderen Klasse erben). Unabhängig ob diese (oder die betroffene Superclass) jetzt abstrakt ist oder nicht.

    Eine Subclass erbt von einer Superclass deren "Eigenschaften". Sprich, Variablen und Methoden.

    Code
    public abstract class Vehicle {
        public startEngine(){
            //starts the engine...
        }
        abstract public getName();
    }
    
    
    public class Car extends Vehicle{
        public String getName(){ return "car"; }
    }
    
    
    
    
    public static void main(String[] args){
        Vehicle v;
    
    
        Car c= new Car();  
        v = c; 
        v.startEngine();
    
        Motorcycle m = new Motorcycle();
        v = m;
    
    
        v.startVehicle();
    }
    Alles anzeigen

    Was bedeutet abstract bezogen auf Klassen?
    Von dieser Klasse kann nicht einfach ein Objekt mit "new" erzeugt werden. Also "new Vehicle()" funktioniert nicht.
    Am Ende einer Vererbungshierarchie muss immer eine nicht abstrakte Klasse stehen.

    Was bedeutet abstract bezogen auf Methoden in einer abstract Klasse?
    Diese Methode muss von einer Subclass implementiert werden.

    2 Mal editiert, zuletzt von Privacy (5. Dezember 2013 um 21:11)

  • Shitstorm
    Punkte
    15
    Beiträge
    2
    • 5. Dezember 2013 um 21:21
    • #3

    Super, Danke für die tolle und vorallem schnelle Antwort, habs verstanden =)
    auch danke für das Beispiel. Gruß

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum