📜  用例子控制Java的抽象

📅  最后修改于: 2022-05-13 01:54:33.470000             🧑  作者: Mango

用例子控制Java的抽象

我们的目标是在Java理解和实现控制抽象。在直接进入控制抽象之前,让我们了解什么是抽象。

抽象:简单来说,抽象就是不向用户展示系统的基本特征而不涉及其细节。例如,向购买者描述汽车及其功能,驾驶员也学习如何使用方向盘和油门驾驶,但未向购买者展示发动机的内部机制。要阅读有关抽象的更多信息,请参阅此处。

在抽象中,有两种类型:数据抽象和控制抽象。

简而言之,数据抽象意味着创建复杂的数据类型,但只给出基本操作。

控制抽象:这是指抽象的软件部分,其中程序被简化并删除了不必要的执行细节。



以下是关于控制抽象的要点:

  • 控制抽象遵循 DRY 代码的基本规则,这意味着不要重复自己,在程序中使用函数是控制抽象的最好例子。
  • 控制抽象可用于构建新功能并将控制语句组合到一个单元中。
  • 它是所有高级语言的基本特性,而不仅仅是Java。
  • 高阶函数、闭包和 lambda 是控制抽象的几个先决条件。
  • 更多地强调如何实现特定功能而不是描述每个细节。
  • 构成结构化程序设计的主要单元。

一个简单的控制流算法:

  • 先获取资源
  • 然后,块被执行。
  • 一旦控制离开块,资源就会关闭

例子:

Java
// Abstract class
abstract class Vehicle {
    // Abstract method (does not have a body)
    public abstract void VehicleSound();
    // Regular method
    public void honk() { System.out.println("honk honk"); }
}
  
// Subclass (inherit from Vehicle)
class Car extends Vehicle {
    public void VehicleSound()
    {
        // The body of VehicleSound() is provided here
        System.out.println("kon kon");
    }
}
  
class Main {
    public static void main(String[] args)
    {
        // Create a Car object
        Car myCar = new Car();
        myCar.VehicleSound();
        myCar.honk();
    }
}


输出
kon kon
honk honk

控制抽象的最大优点是它使代码更简洁,也更安全。