python面向对象设计购物车_Python面向对象组合类Design 4S shop,python,面对,之,结合,设计,4S店,铺...

前置:python3 ,需要提前了解对象、属性、方法的互相调用

该文章看不懂可以跳转:python 类对象、类属性、类方法和实例对象、实例属性、实例方法的互相调用,重点难点讲解

需求:请设计4s店铺功能,可以下单,然后仓库提车,然后可以试驾。

步骤1:先把基本框架搭建出来,需要哪些类啊?

#创建类:4S店

class FourStore(object):

def __init__(self):

pass

#新增:下单功能

def order(self):

pass

#创建类:取车仓库repository

class Rep(object):

def select_car(self):

if xx == '本田':

return bentian()

#创建派生类:本田系列

class Bentian():

def __str__(self):

return ('祝贺您喜提---本田----')

步骤2:实现冒烟流程,完成下单

#创建类:4S店

class FourStore(object):

def __init__(self):

self.rep=Rep() #实现每次自动执行,指向仓库类,实现关联

#新增:下单功能,order方法中,跨类引用了select_car方法

def order(self,name):

return self.rep.select_car(name)

#创建类:取车仓库repository

class Rep(object):

def select_car(self,name):

if name == '本田':

return Bentian()

#创建派生类:本田系列

class Bentian:

def __str__(self):

return ('祝贺您喜提---本田----')

mycar=FourStore()

mycar2=mycar.order('本田') #调用order实例方法

print(mycar2)

执行结果:

解释下执行思路,注释已经讲得很清楚了,如果还是不懂,说明你对“对象、属性、方法的互相调用” 不了解,回去复习吧!

步骤3:完善功能,添加多种车牌系列,以及试驾

#创建类:4S店

class FourStore(object):

def __init__(self):

self.rep=Rep()

#新增:下单功能

def order(self,name):

return self.rep.select_car(name)

#创建类:取车仓库repository

class Rep(object):

def select_car(self,name):

if name == '本田':

return Fengtian()

elif name == '丰田':

return Bentian()

elif name == '大众':

return Dazhong()

#创建车父类,赋予车的功能

class Car(object):

def move(self):

print("欢迎试驾,车正在行驶...")

def music(self):

print("播放车内音乐...")

def stop(self):

print("车已停止,试驾结束...")

#创建车类的子类:各种车系列

class Bentian(Car):

def __str__(self):

return ('祝贺您喜提---本田----')

class Fengtian(Car):

def __str__(self):

return ('祝贺您喜提---丰田----')

class Dazhong(Car):

def __str__(self):

return ('祝贺您喜提---大众----')

#开始执行

mycar=FourStore()

# car_values=input('请输入您要购买的车:')

# mycar2=mycar.order(car_values)

mycar2=mycar.order('丰田')

print(mycar2)

mycar2.move() #因为Fengtian()已经实例化后返回给mycar2了,然而Fengtian()继承了Car()的功能

mycar2.music()

mycar2.stop()

运行结果:

祝贺您喜提---本田----

欢迎试驾,车正在行驶...

播放车内音乐...

车已停止,试驾结束...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值