请编写程序实现
定义商品类Goods
,该类具有两个私有属性:商品名称__name
、商品价格__price
,并包含下面的方法:
-
构造方法:初始化属性两个属性,并对商品价格进行判断,如果价格小于0,则输出
价格必须大于0!
,且设置价格为0; -
为属性
__name
,添加getName()
和setName()
方法,分别获取和设置商品名称,名称要求必须是字符串,如果不是,则输出提示名称必须是字符串!
; -
同样为属性
__price
,添加getPrice()
和setPrice()
方法,设置商品价格,价格要求必须大于等于0,如果小于0,设置价格属性为0,同时输出提示价格必须大于0!
; -
设置方法
sell()
,输出商品名称和价格,格式如下:
华为荣耀V30 售价 3899 元
函数调用
good1 = Goods("华为荣耀V30",3899)
good2 = Goods("iPhone11",-7899)
good1.sell()
good2.sell()
示例输出
价格必须大于0!
华为荣耀V30 售价 3899 元
iPhone11 售价 0 元
# 请在此处编写代码
class Goods:
__name=None
__price=None
def __init__(self,name,price):
self.__name=name
if price<0:
print("价格必须大于0!")
self.__price=0
else:
self.__price=price
def getName(self):
return self.__name
def setName(self,name):
if isinstance(name,str):
self.__name=name
else:
print("名称必须是字符串!")
def getPrice(self):
return self.__price
def setPrice(self,price):
if price<0:
self.__price=0
print("价格必须大于0!")
else:
self.__price=price
def sell(self):
print(f"{self.__name} 售价{self.__price}元")
# 测试代码
good1 = Goods("华为荣耀V30",3899)
good2 = Goods("iPhone11",-7899)
good1.sell()
good2.sell()