总结
豆包 AI 助手文章总结

PHP面向对象笔记 —— 123 图解静态属性与静态方法

不言
发布: 2018-04-08 15:47:08
原创
2013人浏览过

本篇文章介绍的内容是PHP面向对象中的内容,123图解静态属性与静态方法,现在分享给大家,有需要的朋友可以参考一下

/*
在属性,和方法前
加static 修饰,这种称为静态属性/静态方法.

静态属性

静态属性存放在类空间中
1、类声明完毕,该属性就已存在,不需要依赖于对象而访问.
2、类在内存中只有一个,因此静态属性也只有一个.
*/

class Human {
    static public $head = 1;    public function changeHead() {
        Human::$head = 9;
    }    public function getHead() {
        return Human::$head;
    }
}echo Human::$head; //1// 静态属性的访问方法echo '<br >';// 静态属性只有一个,为所有的对象的共享.$m1 = new Human();$m1->changeHead();$m2 = new Human();$m3 = new Human();echo $m2->getHead(),'<br >'; //9echo $m3->getHead(),'<br >'; //9
登录后复制

这里写图片描述

/*
静态方法

立即学习PHP免费学习笔记(深入)”;

普通方法,存放于类内的,只有1份
静态方法,也是存放于类内的,只有1份

区别在于:
普通方法需要对象去调动,需要绑定$this
即,普通方法,必须要有对象,且用对象调动

而静态方法,不属于哪个对象,属于类,因此不需要去绑定$this.
即,静态方法,通过类名就可以调动.
*/

这里写图片描述

class Human2 {
    public $name = '张三';    static public function cry() {
        echo '5555';
    }    public function eat() {
        echo '吃饭';
    }    public function intro() {
        echo $this->name;
    }
}// 此时一个对象都没有Human2::cry();// 下面这个eat是非静态方法,应由对象来调用Human2::eat();/*
报错提示:
Strict standards: Non-static method Human2::eat() should not be called statically
*/echo '<br >';//Human2::intro();/*
直接报错:
Fatal error: Using $this when not in object context
*/
登录后复制

这里写图片描述

/*
总结:
如上分析,其实非静态方法,是不能由类名静态调用的.
*/

$lisi = new Human2();$lisi->cry(); //5555
登录后复制

/*
类->访问->静态方法  可以
类->动态方法  方法内没有this的情况下,严重不支持.逻辑上解释不通.

对象->访问动态方法  可以
对象->静态方法  可以
*/

相关推荐:

php面向对象之继承、多态、封装简介

php面向对象设计原则概述

以上就是PHP面向对象笔记 —— 123 图解静态属性与静态方法 的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号