-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhw1.php
More file actions
77 lines (65 loc) · 2.01 KB
/
hw1.php
File metadata and controls
77 lines (65 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/**
* Класс Cover описывает вместилище товаров,
* объединяющее такие сущности как склад магазина,
* корзина покупателя или оформленный заказ
*/
class Cover {
$owner='shop'; // Владелец вместилища, возможно, магазин, поставщик или покупатель
$identifier=0;
$address=''; // Географическая локация вместилища
$cost=0; // Стоимость всех товаров во вместилище
$goods=[]; // Перечень товаров во вместилище
function addGood ($goodId, $goodAmount) {
}
function removeGood ($goodId, $goodAmount) {
}
function __construct($this->goods) {
}
}
/**
* Класс Cart содержит товары покупателя, которые тот добавил в корзину
*/
class Cart extends Cover {
$personalDiscount=0; //Персональная скидка покупателя (программа лояльности)
}
/**
* Класс Order содержит товары отправленные покупателю
*/
class Order extends Cover {
$dateOfOrder=''; // Дата совершения заказа
function
{
# code...
}
}
//Задание 5
class A {
public function foo() {
static $x = 0;
echo ++$x;
}
}
$a1 = new A();
$a2 = new A();
$a1->foo(); //1
$a2->foo(); //2
$a1->foo(); //3
$a2->foo(); //4
//$x общая переменная для всех объектов класса из-за ключевого слова static
//Задание 6
class A {
public function foo() {
static $x = 0;
echo ++$x;
}
}
class B extends A {
}
$a1 = new A();
$b1 = new B();
$a1->foo(); //1
$b1->foo(); //2
$a1->foo(); //3
$b1->foo(); //4
//$x общая переменная для всех дочерних классов из-за ключевого слова static