Introductie tot polymorfisme

Introductie tot objectgeoriënteerd programmeren in Java

Sani Yusuf

Lead Software Engineering Content Developer

Polymorfisme demonstreren

  • Polymorfisme in OOP laat objecten in meerdere vormen voorkomen
  • Voorbeeld van klasse-erfelijkheid

  // Abstracte Car-klasse
  abstract class Car {

    // Abstracte drive-methode
    abstract void drive(); 
    // Geen code-implementatie 

  }

  // Toyota-klasse erft van Car
  class Toyota extends Car {  

  }
  // Tesla-klasse erft van Car
  class Tesla extends Car {  

  }
  // Lamborghini-klasse erft van Car
  class Lamborghini extends Car {          

  }
Introductie tot objectgeoriënteerd programmeren in Java

Methoden overschrijven

  • Het sleutelwoord @Override laat je eigen implementaties van methoden maken
  // Abstracte Car-klasse
  abstract class Car {

    // Abstracte drive-methode
    abstract void drive(); 
    // Geen code-implementatie 

  }


 class Toyota extends Car {  
   @Override // Sleutelwoord om te overschrijven
    void drive() {
      // Toyota-specifieke implementatie
    }  
 }
 class Tesla extends Car {   
   @Override
    void drive() {
      // Tesla-specifieke implementatie
    } 
 }
 class Lamborghini extends Car {  
   @Override
    void drive() {
      // Lamborghini-specifieke implementatie
    }   
 }
Introductie tot objectgeoriënteerd programmeren in Java

Interfacemethoden overschrijven


  // ElectricCar-interface
  interface ElectricCar {

    abstract void charge(); 
    // Geen code-implementatie 

  }


  • @Override wordt aangeraden bij interfacemethoden

  // Tesla-klasse die de 
  // ElectricCar-interface implementeert
  class Tesla implements ElectricCar {

    // charge-methode moet worden geïmplementeerd
    @Override
    void charge(){
      // Tesla-specifieke charge-implementatie
      // Selectieve overname via interface
    }          
  }













Introductie tot objectgeoriënteerd programmeren in Java

Methoden overladen

  • Overloading laat methoden met dezelfde naam verschillende implementaties hebben

  // Toyota-klasse 
  class Toyota {   

    void drive() {
      // Eerste implementatie van drive-methode
    }

// Overloaded drive-methode void drive(int topSpeed) { // Tweede implementatie van drive } }
Introductie tot objectgeoriënteerd programmeren in Java

De constructor overladen

  • Constructors kun je overladen, zodat er meerdere in dezelfde klasse staan
  // Honda-klasse
  class Honda {
    // Eerste constructor
    public Honda(String color,
                 String model) {

    }

// Tweede constructor public Honda(String color, String model, String licensePlate) { } }

  public class Main {  
    public static void main(
      String[] args) {

      // Gebruik eerste constructor
      Honda hondaOne = 
        new Honda("Red", "Accord");


// Gebruik tweede constructor Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Introductie tot objectgeoriënteerd programmeren in Java

Laten we oefenen!

Introductie tot objectgeoriënteerd programmeren in Java

Preparing Video For Download...