zoukankan      html  css  js  c++  java
  • PHP面向对象编程题(方法的实践)

    <?php
    header('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();

    另一个需求 

     请计算,蛋糕一共可以吃多少天 并且输出当谁要吃的时候蛋糕不够吃
    <?php
    header('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();

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

    <?php
    header('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_day while(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();
  • 相关阅读:
    September 17th 2016 Week 38th Saturday
    【2016-09-16】UbuntuServer14.04或更高版本安装问题记录
    September 16th 2016 Week 38th Friday
    September 11th 2016 Week 38th Sunday
    September 12th 2016 Week 38th Monday
    September 10th 2016 Week 37th Saturday
    September 9th 2016 Week 37th Friday
    c++暂停
    八皇后问题
    ( 转转)Android初级开发第九讲--Intent最全用法(打开文件跳转页面等)
  • 原文地址:https://www.cnblogs.com/lsqbk/p/10402837.html
Copyright © 2011-2022 走看看