Vytvoření abstraktní třídy Car

Introduction to Object-Oriented Programming in Java

Sani Yusuf

Lead Software Engineering Content Developer

Vysvětlení abstraktní třídy

  • Pojem Car existuje pouze jako zástupný symbol
  • Je třeba upřesnit, o jaký typ auta se jedná

Toyota

Mercedes

Introduction to Object-Oriented Programming in Java

Analogie jídla pro abstraktní třídu

  • V restauraci si nikdy neobjednáte jen jídlo
  • Vždy upřesníte, co chcete jíst
    • chléb
    • těstoviny
    • rýže

Chléb

Těstoviny

Rýže

Introduction to Object-Oriented Programming in Java

Pochopení abstraktních tříd

  • Abstraktní třídy uchovávají vlastnosti pro dědící třídy
  • Abstraktní třídy nelze instanciovat
  • Abstraktní třídy zpravidla neobsahují implementaci kódu
Introduction to Object-Oriented Programming in Java

Abstraktní třída Car


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

  }








Introduction to Object-Oriented Programming in Java

Abstraktní metody

  • Abstraktní metody nemají implementaci
  • Dědící třída musí abstraktní metody implementovat

   // 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
    }           
  }
Introduction to Object-Oriented Programming in Java

Vytváření konkrétních metod

  • Konkrétní metody obsahují implementaci kódu
  • Podtřídy nemusí konkrétní metody implementovat

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

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

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

Introduction to Object-Oriented Programming in Java

Pojďme procvičovat!

Introduction to Object-Oriented Programming in Java

Preparing Video For Download...