De autoklasse abstract maken

Introductie tot objectgeoriënteerd programmeren in Java

Sani Yusuf

Lead Software Engineering Content Developer

Abstracte klasse uitleggen

  • De term Car bestaat alleen als placeholder
  • We moeten nog weten welk type auto het is

Toyota

Mercedes

Introductie tot objectgeoriënteerd programmeren in Java

Voedsel-analogie voor abstracte klasse

  • Je vraagt nooit gewoon om eten in een restaurant
  • Je geeft altijd aan welk type eten je wilt
    • brood
    • pasta
    • rijst

Brood

Pasta

Rijst

Introductie tot objectgeoriënteerd programmeren in Java

Abstracte klassen begrijpen

  • Abstracte klassen bewaren features voor klassen die erven
  • Van abstracte klassen kun je geen objecten maken
  • Abstracte klassen hebben meestal geen code-implementatie
Introductie tot objectgeoriënteerd programmeren in Java

Abstracte autoklasse


  // abstracte Car-klasse
  abstract class Car {    
    // abstracte drive-methode
     abstract void drive(); // No Code Implementation 

  }








Introductie tot objectgeoriënteerd programmeren in Java

Abstracte methoden

  • Abstracte methoden hebben geen implementatie
  • De klasse die erft, moet abstracte methoden implementeren

   // abstracte Car-klasse
  abstract class Car {    
    // abstracte drive-methode
     abstract void drive(); // geen code-  
                            // implementatie
  }





  // Toyota-klasse 
  class Toyota extends Car {  
     void drive(){
      // implementatie van Toyota drive()
    }           
  }
  // Porsche-klasse
  class Porsche extends Car {  
     void drive(){
      // implementatie van Porsche drive()
    }           
  }
Introductie tot objectgeoriënteerd programmeren in Java

Concrete methoden maken

  • Concrete methoden hebben een code-implementatie
  • Subklassen hoeven concrete methoden niet te implementeren

  // abstracte Car-klasse
  abstract class Car {
    private int topSpeed;

    // Concrete methode met implementatie
    public getTopSpeed(){
         return this.topSpeed;
    }

    abstract void drive(); 
    // geen code-implementatie        
  }

Introductie tot objectgeoriënteerd programmeren in Java

Laten we oefenen!

Introductie tot objectgeoriënteerd programmeren in Java

Preparing Video For Download...