面向对象的静态属性和静态方法

Posted wfc139

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的静态属性和静态方法相关的知识,希望对你有一定的参考价值。

一,静态属性

静态属性时该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量

技术分享图片

定义静态属性:访问修饰符 static 静态属性名

静态属性的访问:

1.在类的内部

self::静态属性名

类名::静态属性名

2.类的外部

如果要在类的外部访问静态属性,静态属性需要时public,否则不能直接访问

访问形式是: 类名::静态属性名

$this和self的区别

1.使用的方式不同

$this->

self::

2.self是类范畴(指向类),$this是对象实例(指向对象实例)

静态属性的使用注意事项

1.如果在类的内部使用静态属性,有两种形式:self::静态属性名   类名::静态属性名

2.在类的外部访问静态属性  类名::静态属性名  要求静态属性是public

3.静态属性在定义时,可以直接初始化(赋值)

二.静态方法

静态方法是专门用来操作静态属性的

写法:访问修饰符  static  function 函数名(形参){}

1,在类外部调用静态方法有以下几种形式

类名::静态方法名

对象名->静态方法名

对象名::静态方法名(不推荐使用)

2.在类的内部调用静态方法

self::方法名

类名::方法名(不推荐使用,因为当你的类名发生改变时,这里也要发生修改)

$this->方法名(不推荐使用)

3.静态方法只能访问静态属性

4.普通的成员方法可以访问静态属性

5.如果静态方法时protected或private则不能在类外部使用

以上是关于面向对象的静态属性和静态方法的主要内容,如果未能解决你的问题,请参考以下文章

Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

php面向对象中static静态属性和静态方法的调用

php面向对象中static静态属性和静态方法的调用

Python面向对象静态方法,类方法,属性方法

JS面向对象 -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

Python之路系列:面向对象初级:静态属性静态方法类方法