@startuml
class Vehicle {
  -img: PImage
  + {abstract} getDescription(): String
  + draw (x: Number, y: Number, size: Number): void
}

class Car {
  - passengers: Number
  + constructor (passengers: Number)
  + getDescription (): String
}

class Truck {
  - load: Number
  + constructor (load: Number)
  + getDescription (): String
}

class SportCar {
  - fullOp: Bolean
  + constructor (fullOptions: Boolean)
  + getDescription (): String
  + getTurbo (): String
  + getOptions (): String
}

class Convertible {
  + constructor()
  + getDescription(): String
  + getRooftop(): String
}
Vehicle <|.. Car
Vehicle <|.. Truck
Car <|-- SportCar
SportCar <|-- Convertible

@enduml