多态入门

Java 面向对象编程入门

Sani Yusuf

Lead Software Engineering Content Developer

演示多态

  • 多态是面向对象编程(OOP)中的概念,使对象可呈现多种形式
  • 展示类的继承

  // 抽象的 Car 类
  abstract class Car {

    // 抽象的 drive 方法
    abstract void drive(); 
    // 无代码实现 

  }

  // Toyota 类继承 Car 类
  class Toyota extends Car {  

  }
  // Tesla 类继承 Car 类
  class Tesla extends Car {  

  }
  // Lamborghini 类继承 Car 类
  class Lamborghini extends Car {          

  }
Java 面向对象编程入门

方法重写

  • @Override 关键字用于自定义方法实现
  // 抽象的 Car 类
  abstract class Car {

    // 抽象的 drive 方法
    abstract void drive(); 
    // 无代码实现 

  }


 class Toyota extends Car {  
   @Override // 用于重写的关键字
    void drive() {
      // Toyota 的特定实现
    }  
 }
 class Tesla extends Car {   
   @Override
    void drive() {
      // Tesla 的特定实现
    } 
 }
 class Lamborghini extends Car {  
   @Override
    void drive() {
      // Lamborghini 的特定实现
    }   
 }
Java 面向对象编程入门

重写接口方法


  // ElectricCar 接口
  interface ElectricCar {

    abstract void charge(); 
    // 无代码实现 

  }


  • 使用接口方法时,建议加上 @Override

  // Tesla 类实现 
  // ElectricCar 接口
  class Tesla implements ElectricCar {

    // 必须实现 charge 方法
    @Override
    void charge(){
      // Tesla 的充电实现
      // 与接口的选择性继承
    }          
  }













Java 面向对象编程入门

方法重载

  • 重载允许同名方法具有不同实现

  // Toyota 类 
  class Toyota {   

    void drive() {
      // drive 方法的第一种实现
    }

// 重载的 drive 方法 void drive(int topSpeed) { // 第二种实现 } }
Java 面向对象编程入门

构造函数重载

  • 构造函数也可重载,在同一类中定义多个
  // Honda 类
  class Honda {
    // 第一个构造函数
    public Honda(String color,
                 String model) {

    }

// 第二个构造函数 public Honda(String color, String model, String licensePlate) { } }

  public class Main {  
    public static void main(
      String[] args) {

      // 使用第一个构造函数
      Honda hondaOne = 
        new Honda("Red", "Accord");


// 使用第二个构造函数 Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Java 面向对象编程入门

让我们来练习!

Java 面向对象编程入门

Preparing Video For Download...