好问题!
在应用程序基础架构和设计方面,抽象数据类型很有用,以便拥有清晰易懂的类和数据模型层次结构。
正如您所要求的一个实际示例,以任何使用数据库的应用程序为例:例如在线电子商店。
原始数据类型很有用,当然,假设我们使用双精度数来存储价格,使用整数来存储商品数量,使用字符串来显示和存储商品名称/描述,但是我们如何处理购物篮/购物车呢?最简单且最推荐的方法是通过一个单独的类(例如 shoppingCart)创建购物车的抽象表示,该类将包含其属性:
class shoppingCart{
int numOfItems;
double totalPrice;
List<Product> products;
etc.
}
此外,我们需要类来表示产品和类别,例如:
class Product{
double price;
string name;
etc.
}
将您创建的任何抽象数据类型视为您自己的对象,以及它们自己的方法等等。
我们将使用抽象类来定义扩展它们的某些子类的一般行为,例如:抽象类 Vehicle 和扩展 Vehicle 的类 Car、Bike。
结构是:
abstract class vehicle{
public void drive();
public int getNumberOfWheels();
}
这样我们确保 Car 和 Bike 的所有实例都将实现抽象类车辆中列出的 2 个方法:
class car extends vehicle{
//we have to implement the 2 methods and provide an implementation for it
}
另一位开发人员想要创建一种新型车辆(比如“飞机”),因此他现在可以看到他必须无论如何都要实现这两种方法。
希望能帮到你。