<?php
abstract class Product
{
private $price = 30;
static $profit = 0;
public function getPrice()
{
return $this->price;
}
public function getProfit()
{
return $this->profit;
}
abstract function buy();
abstract function price();
}
class Weight extends Product
{
function price()
{
echo "Стоимость Весового товара: $this->getPrice() * $this->getAmout()<br>";
}
function buy()
{
function weight($amout)
{
parent::$profit += parent::getPrice() * $amout;
echo "Весовой товар куплен. <br> Доход с продаж весовых товаров " . parent::$profit . "<br>";
}
echo "Весовой товар НЕ куплен. <br> Укажите вес товара <br>";
}
}
$productWeight::buy()->weight(5.5); // выводит ошибку
class Weight extends Product
{
function buy()
{
return $this; // возвращаем объект, методы которого сможем использовать дальше
}
function weight($amout)
{
parent::$profit += parent::getPrice() * $amout;
echo "Весовой товар куплен. <br> Доход с продаж весовых товаров " . parent::$profit . "<br>";
}
}
$productWeight::buy()->weight(5.5);