An abstract class cannot be directly instantiated. It acts as a contractual interface:
┌───────────────────────────────┐
│ IDataStorage │
│ + save(data): void = 0 │
│ + load(): string = 0 │
└──────────────┬────────────────┘
│
┌───────────────────────┴───────────────────────┐
│ │
┌────────────────────────────┐ ┌────────────────────────────┐
│ CloudDataStorage │ │ LocalDiskStorage │
│ + save(data): (AWS S3) │ │ + save(data): (Local SSD) │
│ + load(): string │ │ + load(): string │
└────────────────────────────┘ └────────────────────────────┘