Hacer abstracta la clase Car

Introducción a la Programación Orientada a Objetos en Java

Sani Yusuf

Lead Software Engineering Content Developer

Explicación de clase abstracta

  • La palabra Car solo sirve como marcador de posición
  • Aún necesitamos saber qué tipo de coche es

Toyota

Mercedes

Introducción a la Programación Orientada a Objetos en Java

Analogía de comida para clase abstracta

  • Nunca pides solo comida en un restaurante
  • Siempre especificas qué tipo quieres comer
    • pan
    • pasta
    • arroz

Pan

Pasta

Arroz

Introducción a la Programación Orientada a Objetos en Java

Entender las clases abstractas

  • Las clases abstractas guardan características para las clases que heredan
  • No se pueden crear instancias de clases abstractas
  • Normalmente no tienen implementación de código
Introducción a la Programación Orientada a Objetos en Java

Clase abstracta Car


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

  }








Introducción a la Programación Orientada a Objetos en Java

Métodos abstractos

  • Un método abstracto no tiene implementación
  • La clase que hereda debe implementar los métodos abstractos

   // 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
    }           
  }
Introducción a la Programación Orientada a Objetos en Java

Crear métodos concretos

  • Los métodos concretos tienen implementación de código
  • Las subclases no necesitan implementar los 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        
  }

Introducción a la Programación Orientada a Objetos en Java

¡Vamos a practicar!

Introducción a la Programación Orientada a Objetos en Java

Preparing Video For Download...