>  기사  >  백엔드 개발  >  PHP 객체 지향 정적 메서드, 속성 및 상수

PHP 객체 지향 정적 메서드, 속성 및 상수

不言
不言원래의
2018-06-06 09:53:551859검색

이 글은 주로 PHP 객체지향에 대한 정적 메서드, 속성, 상수를 소개하는데, 이는 특정 참조 가치가 있습니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.

static 키워드 정의를 사용하세요.

클래스 속성이나 메서드를 정적으로 선언하세요. 즉, 인스턴스화 없이 직접 액세스할 수 있습니다.

참고:

1) 정적 속성은 인스턴스화된 객체를 통해 액세스할 수 없습니다.

2) 정적 메서드, 그렇습니다.

static关键字定义;

声明类属性或方法为静态,即可以不实例化,直接访问

注意:

1)静态属性,不可以通过实例化对象访问;

2)静态方法,可以;

3)静态方法,不可以使用$this

使用方法

 :: 或  self::

具体如下所示:

  访问位置           调用属性           调用方法

类的内部/外部       类名::属性名      类名::方法名

   内部           self::属性名      self/类名::方法名

综合例子

<?php

class MyClass
{
    // 静态属性
    public static $a = &#39;static&#39;;

    // 静态方法
    public static function func1()
    {
        echo &#39;静态方法&#39;;

        // 类的内部调用静态属性
        echo MyClass::$a;
        echo self::$a;

        // 类的内部调用静态方法
        MyClass::func2();
        self::func2();
    }

    // 试验静态方法调用另一个静态方法
    public static function func2()
    {
        echo &#39;This is static function 2.&#39;;
    }
}

// 类的外部调用静态属性、方法
echo MyClass::$a;
MyClass::func1();

// 实例化后再调用
$me = new MyClass();

echo $me::$a;   // 调用成功
// echo $me ->a;   调用失败
$me -> func1();  // 调用成功

常量

const3) 정적 메서드, $this

Usage 메서드를 사용할 수 없습니다

class MyClass
{
    public static $a = &#39;abc&#39;;
    const NUM = 123;
}

echo MyClass::$a;
echo &#39;<br/>&#39;;
echo MyClass::NUM;
echo &#39;<br/>&#39;;

// 修改静态属性
MyClass::$a = &#39;def&#39;;
echo MyClass::$a;
echo &#39;<br/>&#39;;

// 修改常量
//MyClass::NUM = 234;  赋值失败

자세한 내용은 다음과 같습니다.

rrreee

종합예

rrreee

Constant

const클래스 내에서 절대 변하지 않는 값을 상수로 정의할 수 있습니다.

상수 값은 고정된 값이어야 합니다.

호출 방법은 정적과 동일합니다.

rrreee

관련 권장 사항:

php 객체 지향 생성자 및 소멸자🎜🎜🎜🎜🎜php 객체 지향 캡슐화🎜🎜🎜🎜🎜php 객체 지향 클래스 및 인스턴스화된 객체🎜  🎜

위 내용은 PHP 객체 지향 정적 메서드, 속성 및 상수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.