更改上次的口罩使用类,以下红色文本为增加的要求。 新冠病毒肺炎防疫期间,外出都需要佩戴口罩。假设一个口罩可重复使用,但使用达 5 次 或 总时长达 4 小时 (240 分钟 ) 以上,口罩应废弃。可以网上预约口罩,一次 10 个,若预约成功,需自行出门领取口罩。现要求定义一个口罩使用类( MaskUse.class.php ),用来跟踪一个口罩使用者的口罩使用情况。 1. 成员属性有:姓名 $name ,口罩总数 $masknum ,当前是否有口罩在使用状态 $inUse ,当前口罩使用的次数 $frequency ,当前口罩使用的总时长 $length ; 2. 成员方法有: ( 1 )构造方法,初始化私有成员属性 $name,$masknum ( 2 )公有的成员方法,外出 goOut($time) ,参数为外出的时间 $time (分钟为单位)。功能为:能将本次出门导致的结果打印到浏览器。打印的信息为这三者之一: “ 某某某:您的口罩已告罄,无法出门! ” “ 某某某:您本次出门 XX 分钟!当前口罩已经使用 X 次,总时长 XX 分钟,可以继续使用 ” “ 某某某:您本次出门 XX 分钟!当前口罩已经使用 X 次,总时长 XXX 分钟,应当废弃,下次出门要开一个新口罩 ” ( 3 )公有的成员方法,预约口罩 bookMask($flag,$t) ,参数为预约成功与否 $flag ,出门领取口罩所需时间 $t 。若预约成功可购 10 个 。功能为:能将本次预约口罩的情况打印到浏览器。打印的结果为这三者之一: “ 某某某:对不起,您本次预约口罩失败! ” “ 某某某:对不起!您的口罩告罄,无法出门领取预约的口罩! ” “ 某某某:您本次出门 XX 分钟!当前口罩已经使用 X 次,总时长 XX 分钟,可以继续使用。某某某:您本次出门已领取预约的 10 个口罩!您目前共有 XX 个口罩! ” 。 ( 4 )公有的成员方法,报告目前口罩使用总体情况 reportState() ,并打印到浏览器。打印内容为以下其中之一: “ 某某某您好!您目前的口罩总数为: 0 ,没有口罩的娃只能乖乖的待在家里了! ” “ 某某某您好!您目前的口罩总数为: XX ,您积极响应国家号召,目前为止您一直宅家,为闷死病毒做贡献! ” “ 某某某您好!您目前的口罩总数为: XX ,当前口罩已经使用 X 次,总时长 XX 分钟,可以继续使用 ” “ 某某某您好!您目前的口罩总数为: XX ,上一个口罩已经使用 X 次,总时长 XXX 分钟,已废弃,下次出门要开一个新口罩 ” ( 5 )公有的成员方法,向他人借口罩 borrowMask($other, $askfor) ,参数为求借对象 $other ,想要借口罩的个数 $askfor 。功能为:根据出借规则,结合自身和对口罩使用情况,作出“借不借”、“借多少”的决策,并打印到浏览器上,同时更改双方口罩数量,完成实际借入借出。出借规则具体如下: 1 如果自己还有口罩,打印 “ 某某某:你目前还有口罩,不需要借! ” 2 如果口罩已用完,对方口罩数在 2个以内 ,打印 “ 某某某: Sorry! xxx 口罩也快没了,不能借给你! ” 3 如果口罩已用完,对方口罩数在 2个以上,5个以内 ,打印 “ 某某某: Sorry! xxx 口罩也很少了,借给你 1 个,感恩吧! ” 4 如果口罩已用完,对方口罩数在 5个以上,50个以内 ,打印 “ 某某某: xxx 借给你 X 个口罩,感谢他! ” (借出量 X 为想借的个数 $askfor ,最多 20% ) 5 如果口罩已用完,对方口罩数在 50个以上 ,打印 “ 某某某: xxx 借给你 X 个口罩,感谢他! ” (借出量 X 为想借的个数 $askfor ,或 20% ,最多 50 个) 主程序( index.php )和运行结果分别如下: