分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

PHP面向对象编程题(方法的实践)

发布时间:2023-09-06 02:33责任编辑:赖小花关键词:PHP面向对象
<?phpheader(‘content-type:text/html;charset=utf-8‘);/*设计一个peron类(有名字,年龄和蛋糕三个属性) ???蛋糕一共1000块,是所有人共享的, ???创建唐僧师徒四人,他们每人都吃蛋糕,唐僧每天吃3块,悟空吃五块,沙僧吃九块,猪八戒吃30块(编写一个eat方法来吃) ???问两天后,还剩多少块蛋糕(编写一个showCake()来显示) ???请计算,蛋糕一共可以吃多少天*/class Person{ ???public $name; ???public $age; ???/*因为是共享的,因此设置static*/ ???protected static $cakeNum = 1000; ???????/*构造函数*/ ???public function __construct($name,$age){ ???????$this->name = $name; ???????$this->age = $age; ???????} ???/*编写eat方法*/ ?//传入要吃的蛋糕 ???public function eat($num){ ???????//判断一下蛋糕是否够吃 ???????if(self::$cakeNum >= $num){ ???????????self::$cakeNum -= $num; ???????}else{ ???????????echo ‘<br>蛋糕不够吃了‘; ???????} ???} ???//编写一个方法,显示还有多少块蛋糕 ???public function showNum(){ ???????echo ‘<br> 当前还有 ‘ . self::$cakeNum . ‘蛋糕.‘; ???}}//使用//1.创建四个对象$monk = new Person(‘唐僧‘,30);$monkey = new Person(‘悟空‘,500);$pig = new Person(‘八戒‘,400);$sMonk = new Person(‘沙僧‘,300);//2.统计2天后$day = 2 ;for($i = 0 ; $i<$day;$i++){ ???$monk->eat(3); ???$monkey->eat(5); ???$sMonk->eat(9); ???$pig->eat(30);}//3.看看还剩多少块$monk->showNum();

另一个需求 

 请计算,蛋糕一共可以吃多少天 并且输出当谁要吃的时候蛋糕不够吃
<?phpheader(‘content-type:text/html;charset=utf-8‘);/*设计一个peron类(有名字,年龄和蛋糕三个属性) ???蛋糕一共1000块,是所有人共享的, ???创建唐僧师徒四人,他们每人都吃蛋糕,唐僧每天吃3块,悟空吃五块,沙僧吃九块,猪八戒吃30块(编写一个eat方法来吃) ???问两天后,还剩多少块蛋糕(编写一个showCake()来显示) ???请计算,蛋糕一共可以吃多少天*/class Person{ ???public $name; ???public $age; ???/*因为是共享的,因此设置static*/ ???protected static $cakeNum = 1000; ???????/*构造函数*/ ???public function __construct($name,$age){ ???????$this->name = $name; ???????$this->age = $age; ???????} ???/*编写eat方法*/ ?//传入要吃的蛋糕 ???public function eat($num){ ???????//判断一下蛋糕是否够吃 ???????if(self::$cakeNum >= $num){ ???????????self::$cakeNum -= $num; ???????????return true; ??//如果够吃返回true ???????}else{ ???????????echo ‘<br> 当‘ .$this->name. ‘想吃‘ . $num . ‘块蛋糕时,蛋糕不够吃了‘; ???????????return false; ???//如果不够吃返回false ???????} ???} ???//编写一个方法,显示还有多少块蛋糕 ???public function showNum(){ ???????echo ‘<br> 当前还有 ‘ . self::$cakeNum . ‘蛋糕.‘; ???}}//使用//1.创建四个对象$monk = new Person(‘唐僧‘,30);$monkey = new Person(‘悟空‘,500);$pig = new Person(‘八戒‘,400);$sMonk = new Person(‘沙僧‘,300);//2.统计2天后$day = 30 ;for($i = 0 ; $i<$day;$i++){ ???//给每个人吃的时候加判断,当不够吃的时候break终止循环 ???if(!$monk->eat(3)){ ???????break; ???}; ???if(!$monkey->eat(5)){ ???????break; ???????}; ???if(!$sMonk->eat(9)){ ???????break; ???????}; ???if(!$pig->eat(30)){ ???????break; ???????};}//3.看看还剩多少块$monk->showNum();

换一个思路,输出能吃多少天

<?phpheader(‘content-type:text/html;charset=utf-8‘);/*设计一个peron类(有名字,年龄和蛋糕三个属性) ???蛋糕一共1000块,是所有人共享的, ???创建唐僧师徒四人,他们每人都吃蛋糕,唐僧每天吃3块,悟空吃五块,沙僧吃九块,猪八戒吃30块(编写一个eat方法来吃) ???问两天后,还剩多少块蛋糕(编写一个showCake()来显示) ???请计算,蛋糕一共可以吃多少天*/class Person{ ???public $name; ???public $age; ???/*因为是共享的,因此设置static*/ ???protected static $cakeNum = 1000; ???????/*构造函数*/ ???public function __construct($name,$age){ ???????$this->name = $name; ???????$this->age = $age; ???????} ???/*编写eat方法*/ ?//传入要吃的蛋糕 ???public function eat($num){ ???????//判断一下蛋糕是否够吃 ???????if(self::$cakeNum >= $num){ ???????????self::$cakeNum -= $num; ???????????return true; ??//如果够吃返回true ???????}else{ ???????????echo ‘<br> 当‘ .$this->name. ‘想吃‘ . $num . ‘块蛋糕时,蛋糕不够吃了‘; ???????????return false; ???//如果不够吃返回false ???????} ???} ???//编写一个方法,显示还有多少块蛋糕 ???public function showNum(){ ???????echo ‘<br> 当前还有 ‘ . self::$cakeNum . ‘蛋糕.‘; ???}}//使用//1.创建四个对象$monk = new Person(‘唐僧‘,30);$monkey = new Person(‘悟空‘,500);$pig = new Person(‘八戒‘,400);$sMonk = new Person(‘沙僧‘,300);
$count_day = 0; //思路:天数从0开始,没循环一次加1,最后输出$count_daywhile(true){ ???if(!$monk->eat(3)){ ???????break; ???}; ???if(!$monkey->eat(5)){ ???????break; ???????}; ???if(!$sMonk->eat(9)){ ???????break; ???????}; ???if(!$pig->eat(30)){ ???????break; ???????}; ???$count_day ++;}echo ‘<br>蛋糕能吃多少:‘.$count_day.‘天‘;//3.看看还剩多少块$monk->showNum();

PHP面向对象编程题(方法的实践)

原文地址:https://www.cnblogs.com/lsqbk/p/10402837.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved