第十一次py课
1、创建父类、子类,使用封装、多态、继承等,根据天气情况给出用户出行建议。
要求:
(1)定义父类(天气查找类,class WeatherSearch(object)),该类中有二个方法,一个方法(def search_visibility(self))根据传入的input_daytime值返回对应的天气可见度,另一个方法(def search_temperature(self))根据传入的input_daytimew值返回对应的温度,input_daytime传入的值为daytime或nigtht;
(2)定义子类(出行建议类,class OutAdvice(WeatherSearch)),子类中定义两个方法,一个方法(def search_temperature(self))覆盖父类的温度查找方法,根据传入的input_daytime的值返回建议使用的交通工具;另一个方法(def out_advice(self))返回整体的出行建议。
示例如下:
class WeatherSearch(object):
def search_visibility(self,input_daytime):
self.input_daytime = input_daytime
if self.input_daytime=='daytime'or self.input_daytime=='nigtht':
if self.input_daytime=='daytime':
self.input_daytime='可见度高'
else :
self.input_daytime = '可见度低'
else:
self.input_daytime = '可见度未知'
return self.input_daytime
def search_temperature(self,input_daytimew):
return ('温度是',input_daytimew)
class OutAdvice(WeatherSearch):
def search_temperature(self,input_daytime):
self.input_daytime = input_daytime
if self.input_daytime == 'daytime' or self.input_daytime == 'nigtht':
if self.input_daytime == 'daytime':
self.jtgj = 'bike'
else :
self.jtgj = 'taxi'
else :
self.jtgj = False
return self.jtgj , self.input_daytime
def out_advice(self):
if self.input_daytime == 'daytime' :
print('今天天气很好,适合使用%s出行'%(self.jtgj))
if self.input_daytime == 'nigtht':
print('今天天气不太好,你应该乘坐%s出行' %(self.jtgj))
if self.jtgj == False :
print('???出错误了???')
a = OutAdvice()
a.search_temperature('nigtht')
a.out_advice()