Transformarea clasei Car în abstractă

Introducere în Programarea Orientată pe Obiecte în Java

Sani Yusuf

Lead Software Engineering Content Developer

Explicarea clasei abstracte

  • Termenul Car există doar ca placeholder
  • Trebuie să specificăm ce tip de mașină este

Toyota

Mercedes

Introducere în Programarea Orientată pe Obiecte în Java

Analogia cu mâncarea pentru clasa abstractă

  • La restaurant nu cereți niciodată doar mâncare
  • Specificați întotdeauna ce tip de mâncare doriți
    • pâine
    • paste
    • orez

Pâine

Paste

Orez

Introducere în Programarea Orientată pe Obiecte în Java

Înțelegerea claselor abstracte

  • Clasele abstracte conțin caracteristici pentru clasele derivate
  • Nu pot fi instanțiate
  • În general, nu au implementare de cod
Introducere în Programarea Orientată pe Obiecte în Java

Clasa abstractă Car


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

  }








Introducere în Programarea Orientată pe Obiecte în Java

Metode abstracte

  • Metodele abstracte nu au implementare
  • Clasa care moștenește trebuie să implementeze metodele abstracte

   // 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
    }           
  }
Introducere în Programarea Orientată pe Obiecte în Java

Crearea metodelor concrete

  • Metodele concrete au implementare de cod
  • Subclasele nu trebuie să implementeze metodele concrete

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

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

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

Introducere în Programarea Orientată pe Obiecte în Java

Să exersăm!

Introducere în Programarea Orientată pe Obiecte în Java

Preparing Video For Download...