练习题3

请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。
设定

  1. 出租车类:
    属性包括:车型,车牌,所属出租公司;方法包括:启动,停止
  2. 家用轿车类:
    属性包括:车型,车牌,车主姓名;方法包括:启动,停止
    要求
  3. 分析出租车和家用轿车的公共成员,提取出父类—汽车类
  4. 利用继承机制,实现出租车类和家用轿车类
  5. 编写测试类,分别测试汽车类,出租车类和家用轿车类对象的相关方法
  6. 定义名为car的包存放汽车类,出租车类,家用轿车类和测试类

'''
请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。
设定

  1. 出租车类:
    属性包括:车型,车牌,所属出租公司;方法包括:启动,停止
  2. 家用轿车类:
    属性包括:车型,车牌,车主姓名;方法包括:启动,停止
    要求
  3. 分析出租车和家用轿车的公共成员,提取出父类—汽车类
  4. 利用继承机制,实现出租车类和家用轿车类
  5. 编写测试类,分别测试汽车类,出租车类和家用轿车类对象的相关方法
  6. 定义名为car的包存放汽车类,出租车类,家用轿车类和测试类
    '''
    from abc import abstractmethod

class Car:
def init(self, car_type, car_card):
self.__car_type = car_type
self.__car_card = car_card

def set_car_type(self, car_type):
    self.__car_type = car_type

def get_car_type(self):
    return self.__car_type

def set_car_card(self, car_card):
    self.__car_card = car_card

def get_car_card(self):
    return self.__car_card

@abstractmethod
def start(self):
    print('我是车,我启动')

@abstractmethod
def stop(self):
    print('我是车,我停止')

class Taxi(Car):
def init(self, car_type, car_card, company):
super().init(car_type, car_card)
self.__company = company

def set_company(self, company):
    self.__company = company

def get_company(self):
    return self.__company

def start(self):
    print('乘客您好')
    print(f'我是{self.__company}的,我的车牌是{self.get_car_card()},您要去哪里?')

def stop(self):
    print('目的地已经到了,请您付费下车,欢迎再次乘坐')

class FamilyCar(Car):
def init(self, car_type, car_card, user_name):
super().init(car_type, car_card)
self.__user_name = user_name

def set_user_name(self, user_name):
    self.__user_name = user_name

def get_user_name(self):
    return self.__user_name

def start(self):
    print(f'我是{self.__user_name},我的汽车我做主')

def stop(self):
    print('目的地到了,我们去玩吧')

if name == 'main':
# 创建第一辆车(父类)
c1 = Car('车', '皖ABC')
c1.start()
c1.stop()
print('')
# 创建私家车
c2 = FamilyCar('梅赛德斯奔驰迈巴赫S600', '皖A88888', '武大郎')
c2.start()
c2.stop()
print('
')
c3 = Taxi('出租车', '京B123', '景顺出租车公司')
c3.start()
c3.stop()

posted @ 2024-01-17 16:29  peculiar-  阅读(20)  评论(0)    收藏  举报