Tornando a classe de carro abstrata

Introdução à Programação Orientada a Objetos em Java

Sani Yusuf

Lead Software Engineering Content Developer

Explicando classe abstrata

  • A palavra Car existe só como um rótulo
  • Ainda precisamos saber o tipo de carro

Toyota

Mercedes

Introdução à Programação Orientada a Objetos em Java

Analogia da comida para classe abstrata

  • Você nunca pede só comida num restaurante
  • Você sempre especifica o tipo de comida
    • pão
    • massa
    • arroz

Pão

Massa

Arroz

Introdução à Programação Orientada a Objetos em Java

Entendendo classes abstratas

  • Classes abstratas guardam recursos para classes filhas
  • Não é possível criar instâncias de classes abstratas
  • Em geral, classes abstratas não têm implementação de código
Introdução à Programação Orientada a Objetos em Java

Classe abstrata Car


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

  }








Introdução à Programação Orientada a Objetos em Java

Métodos abstratos

  • Métodos abstratos não têm implementação
  • A classe que herda deve implementar os métodos abstratos

   // 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
    }           
  }
Introdução à Programação Orientada a Objetos em Java

Criando métodos concretos

  • Métodos concretos são métodos com implementação
  • Subclasses não precisam implementar métodos concretos

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

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

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

Introdução à Programação Orientada a Objetos em Java

Vamos praticar!

Introdução à Programação Orientada a Objetos em Java

Preparing Video For Download...