有关于php的面向对象

WBOY
发布: 2016-07-06 13:51:17
原创
856 人浏览过

php面向对象里边的静态属性和普通属性的区别和用法是什么

回复内容:

php面向对象里边的静态属性和普通属性的区别和用法是什么

<code>区别:
1、静态属性、静态方法是属于类的,是所有对象共有的,不属于任何一个具体的对象;
2、普通属性、普通方法是属于一个具体的对象的。

用法:
1、类外部  类名::属性名、类名::方法名() 的形式访问;
2、类内部  self::属性名、self::方法名() 的形式访问。

class Test
{
    // 静态属性
    private static $name = '测试';
    
    // 静态方法
    public static function getName ()
    {
        return self::$name;
    }
}

// 外部调用静态方法
$name = Test::getName(); // 测试</code>
登录后复制

所谓静态就是说这个成员在内存中的地址是不会变化的。
那么类的静态方法,也就是可以直接调用,而不需要实例化对象,因为如果实例化对象的话,每一次实例化一个对象出来他的地址都是重新分配的,那么这个对象在内存中的地址就是动态的。

得知这个话就可以理解静态成员是在他所属的类在加载的时候就已经固定下来了在内存中的位置。

所以说静态成员是不是要实例化对象,而是直接使用类名来调用。

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板