Your comments

function basePrice() {
    return $this->quantity * $this->itemPrice;
}
Пример явно подразумевает что вычисления происходят каждый раз при вызове метода. Если усложнять его добавлением контейнера для хранения результата, добавлять метод для модификации, это уже попахивает избыточностью кода.