""" 面向对象的嵌套: 顾家媳妇双十一:购物 媳妇淘宝买衣服----->进购物车----->支付宝------>人 面向对象思维: 做题时,首先需将上述流程写出来,在需反过来学程序 先写人类,再写支付宝类,再写购物车类,再写衣服类 现将各各类的三大要点列出来: 1. 类名:人 属性:支付宝 (本属性是下一个类的类名) 方法:显示金额 (调用下一个函数的方法) 2. 类名:支付宝 属性:车 (本属性是下一个类的类名) 方法:总价计算 (调用下一个函数的方法) 3. 类名:车 属性:衣服 (本属性是下一个类的类名) 方法:计算商品总价 (调用下一个函数的方法) 4. 类名:衣服 属性:数量,价格,颜色,尺寸 方法:显示衣服信息,获取价格,获取数量 让他们类与类之间有联系,则将 衣服产生的对象传给车!车产生的对象传给支付宝!支付宝产生的对象传给人 """ import time """ 类:人 属性:支付宝 方法:显示金额 """ class Person: def __init__(self,pay): self.pay = pay def show_money(self): #调用导入类的方法 sum = self.pay.calculate_money() print("支付完毕,剩余金额为%d"%sum) time.sleep(1) """ 类:支付宝 属性:车 方法:总价计算 """ class Pay: def __init__(self,car,money): self.car = car self.money = money def calculate_money(self): total_price = self.car.commodity_money() print("商品总价格为:%d"%total_price,"进行支付操作,请稍等....") time.sleep(1) sum_money = self.money - total_price return sum_money """ 类:车 属性:衣服 方法:计算商品总价 """ class Car: def __init__(self,cloth): self.cloth = cloth def commodity_money(self): print("进入购物车,并计算总价,请稍等....") time.sleep(1) num = self.cloth.get_cloth_num() price = self.cloth.get_cloth_pice() sum = num * price return sum """ 类:衣服 属性:数量,价格,颜色,尺寸 方法:显示衣服信息 """ class Cloth: def __init__(self,num,price,color,size): self.num = num self.price = price self.color = color self.size = size def get_cloth_pice(self): return self.price def get_cloth_num(self): return self.num def show_commodity(self): print("本件衣服颜色为%s,尺寸为%s,价格为%d,数量为%d"%(self.color,self.size,self.price,self.num)) if __name__ == '__main__': cloth = Cloth(3, 123, "黄", "L") cloth.show_commodity() time.sleep(1) car = Car(cloth) pay = Pay(car, 20000) person = Person(pay) person.show_money()
07-面向对象的嵌套
最新推荐文章于 2022-08-30 16:13:50 发布