Uczynienie klasy Car abstrakcyjną

Wprowadzenie do programowania obiektowego w Javie

Sani Yusuf

Lead Software Engineering Content Developer

Klasa abstrakcyjna – wyjaśnienie

  • Pojęcie Car istnieje jedynie jako placeholder
  • Potrzebujemy wiedzieć więcej – np. jaki typ samochodu

Toyota

Mercedes

Wprowadzenie do programowania obiektowego w Javie

Analogia z jedzeniem dla klasy abstrakcyjnej

  • W restauracji nigdy nie zamawiamy po prostu jedzenia
  • Zawsze określamy, co chcemy zjeść
    • chleb
    • makaron
    • ryż

Chleb

Makaron

Ryż

Wprowadzenie do programowania obiektowego w Javie

Klasy abstrakcyjne – wprowadzenie

  • Klasy abstrakcyjne przechowują cechy dla klas dziedziczących
  • Nie można tworzyć instancji klas abstrakcyjnych
  • Klasy abstrakcyjne zazwyczaj nie zawierają implementacji kodu
Wprowadzenie do programowania obiektowego w Javie

Abstrakcyjna klasa Car


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

  }








Wprowadzenie do programowania obiektowego w Javie

Metody abstrakcyjne

  • Metody abstrakcyjne nie mają implementacji
  • Klasa dziedzicząca musi implementować metody abstrakcyjne

   // 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
    }           
  }
Wprowadzenie do programowania obiektowego w Javie

Tworzenie metod konkretnych

  • Metody konkretne posiadają implementację kodu
  • Podklasy nie muszą implementować metod konkretnych

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

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

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

Wprowadzenie do programowania obiektowego w Javie

Czas na ćwiczenia!

Wprowadzenie do programowania obiektowego w Javie

Preparing Video For Download...