-
Notifications
You must be signed in to change notification settings - Fork 0
/
Produit.py
55 lines (43 loc) · 1.44 KB
/
Produit.py
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
class Produit:
nombre_produits = 0
def __init__(self, code: int = None, nom: str = None, prix_achat: float = None, prix_vente: float = None) -> None:
self.__code = code
self.__nom = nom
self.__prix_achat = prix_achat
self.__prix_vente = prix_vente
Produit.nombre_produits += 1
def __del__(self):
Produit.nombre_produits -= 1
@property
def code(self) -> int:
return self.__code
@code.setter
def code(self, code: int) -> None:
self.__code = code
@property
def nom(self) -> str:
return self.__nom
@nom.setter
def nom(self, nom: str) -> None:
self.__nom = nom
@property
def prix_achat(self) -> float:
return self.__prix_achat
@prix_achat.setter
def prix_achat(self, prix_achat: float) -> None:
self.__prix_achat = prix_achat
@property
def prix_vente(self) -> float:
return self.__prix_vente
@prix_vente.setter
def prix_vente(self, prix_vente: float) -> None:
self.__prix_vente = prix_vente
def __str__(self) -> str:
return f"Code: {self.__code}, Nom: {self.__nom}, Prix de vente: {self.__prix_vente}, Prix d'achat: {self.__prix_achat}"
def __eq__(self, other) -> bool:
"""
Compare les deux produits par leur nom.
:param other: deuxieme Produit
:return: boolean valeur de comparaison
"""
return self.__nom == other.nom