Göra bilklassen abstrakt

Introduktion till objektorienterad programmering i Java

Sani Yusuf

Lead Software Engineering Content Developer

Förklara abstrakt klass

  • Car finns bara som en platshållare
  • Vi behöver veta mer – till exempel vilken typ av bil det är

Toyota

Mercedes

Introduktion till objektorienterad programmering i Java

Matanalogi för abstrakt klass

  • Du beställer aldrig bara mat på en restaurang
  • Du anger alltid vilken typ av mat du vill ha
    • bröd
    • pasta
    • ris

Bröd

Pasta

Ris

Introduktion till objektorienterad programmering i Java

Förstå abstrakta klasser

  • Abstrakta klasser finns till för att hålla egenskaper som ärvs av underklasser
  • Abstrakta klasser kan inte instansieras
  • Abstrakta klasser har vanligtvis ingen kodimplementering
Introduktion till objektorienterad programmering i Java

Abstrakt klass för bil


  // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code Implementation 

  }








Introduktion till objektorienterad programmering i Java

Abstrakta metoder

  • Abstrakta metoder har ingen implementering
  • Den klass som ärver måste implementera abstrakta metoder

   // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code  
                            // implementation
  }





  // Toyota class 
  class Toyota extends Car {  
     void drive(){
      // Toyota drive() implementation
    }           
  }
  // Porsche class
  class Porsche extends Car {  
     void drive(){
      // Porsche drive() implementation
    }           
  }
Introduktion till objektorienterad programmering i Java

Skapa konkreta metoder

  • Konkreta metoder är metoder med kodimplementering
  • Underklasser behöver inte implementera konkreta metoder

  // abstract Car class
  abstract class Car {
    private int topSpeed;

    // Concrete method with implementation
    public getTopSpeed(){
         return this.topSpeed;
    }

    abstract void drive(); 
    // No Code Implementation        
  }

Introduktion till objektorienterad programmering i Java

Nu kör vi en övning!

Introduktion till objektorienterad programmering i Java

Preparing Video For Download...