2020-08-26

2020-08-26  本文已影响0人  悟道范

时隔一年,终究感觉自己都快要废掉了一直在写代码写代码,从来没有想过代码的编程方式和思想,是时候给自己充电了,十年磨一剑,我比较笨就当四年才开始磨剑吧

在后面的日子里面我将恶补我的面向对象,我现在具备的就是自己的业务逻辑,但是自己编程的思想一塌糊涂

今天学习的内容:类常量,静态属性,静态方法,继承,复写。

首先说的是类常量设置

假设这样的一个应用场景,我们在要给用户赠送积分,发送消息,我们可以抛开来看

1.我们会有默认积分

2.会有积分倍数(偶尔会有)

3.实际增送积分

4.发送消息的默认模板内容

那这里可以看出来默认积分是可以被设置成为一个常量,下面的模块就是我编写的一个默认发送消息的类,反正是最基础的,我也不做多得阐述,这就是给自己学习做笔记的。

class Message {
    const INTEGRAL = 10;
    protected static $message = '恭喜你获得积分';
    protected static $multiple = 3;

    public function getIntegral(){
        return self::INTEGRAL;
    }

    public function sendMessage(){
        $message_user = self::$message.bcmul($this -> getIntegral(),self::getMultiple());

        return $message_user;
    }

    public static function getMultiple(){
        return self::$multiple;
    }
}

然后我们在实际调用的时候会发现,我们在平时的时候需要使用默认积分,而在我们新年的时候需要给用户更多的积分,那怎么办不能再写一次吧,就要用到类的复写了,下面的代码就是一个简单的东西了。

include_once 'Message.php';
class Now extends  Message{

    function generalMessage(){
       return $this -> sendMessage();
    }
}

class NewYear extends Message{
    function specialMessage(){
        return $this -> sendMessage();
    }
    public function getIntegral()
    {
        return 100;
    }
}

echo '这是当我在普通的场景的时候需要这样来调用:';
echo "</br>";
echo  (new Now) ->generalMessage();
echo "<hr/>";

echo '这是当我在特殊的场景的时候需要这样来调用:';
echo "</br>";
echo  (new NewYear) ->specialMessage();

下面就是需要展示一下具体的效果了

这是当我在普通的场景的时候需要这样来调用:
恭喜你获得积分30
这是当我在特殊的场景的时候需要这样来调用:
恭喜你获得积分300

说到这里真的感觉自己弱鸡啊,一开始的入门语言,一直没有勇气去深究,还是自己太懒了,时间给抓回来吧。搞就是了

上一篇 下一篇

猜你喜欢

热点阅读