이 글은 주로 PHP 객체지향에 대한 정적 메서드, 속성, 상수를 소개하는데, 이는 특정 참조 가치가 있습니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.
static
키워드 정의를 사용하세요. 1) 정적 속성은 인스턴스화된 객체를 통해 액세스할 수 없습니다. 2) 정적 메서드, 그렇습니다.클래스 속성이나 메서드를 정적으로 선언하세요. 즉, 인스턴스화 없이 직접 액세스할 수 있습니다.
참고:
static
关键字定义;
声明类属性或方法为静态,即可以不实例化,直接访问。
1)静态属性,不可以通过实例化对象访问;
2)静态方法,可以;
3)静态方法,不可以使用$this
:: 或 self::
具体如下所示:
访问位置 调用属性 调用方法 类的内部/外部 类名::属性名 类名::方法名 内部 self::属性名 self/类名::方法名
<?php class MyClass { // 静态属性 public static $a = 'static'; // 静态方法 public static function func1() { echo '静态方法'; // 类的内部调用静态属性 echo MyClass::$a; echo self::$a; // 类的内部调用静态方法 MyClass::func2(); self::func2(); } // 试验静态方法调用另一个静态方法 public static function func2() { echo 'This is static function 2.'; } } // 类的外部调用静态属性、方法 echo MyClass::$a; MyClass::func1(); // 实例化后再调用 $me = new MyClass(); echo $me::$a; // 调用成功 // echo $me ->a; 调用失败 $me -> func1(); // 调用成功
常量
const
3) 정적 메서드, $this
Usage 메서드를 사용할 수 없습니다
class MyClass { public static $a = 'abc'; const NUM = 123; } echo MyClass::$a; echo '<br/>'; echo MyClass::NUM; echo '<br/>'; // 修改静态属性 MyClass::$a = 'def'; echo MyClass::$a; echo '<br/>'; // 修改常量 //MyClass::NUM = 234; 赋值失败
자세한 내용은 다음과 같습니다.
rrreeeconst
클래스 내에서 절대 변하지 않는 값을 상수로 정의할 수 있습니다.
위 내용은 PHP 객체 지향 정적 메서드, 속성 및 상수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!