php教程 php手册 PHP中::、->、self、$this操作符

PHP中::、->、self、$this操作符

May 25, 2016 pm 04:47 PM
const static

在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->.

另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this.

$this实例代码如下:

<?php
// this是指向当前对象的指针
class test_this {
    private $content; //定义变量
    function __construct($content) { //定义构造函数
        $this->content = $content;
    }
    function __destruct() {
    } //定义析构函数
    function printContent() { //定义打印函数
        echo $this->content . &#39;<br />&#39;;
    }
}
$test = new test_this(&#39;北京欢迎你!&#39;); //实例化对象
$test->printContent(); //北京欢迎你!
?>
로그인 후 복사

::使用方法实例代码如下:

<?php
//parent是指向父类的指针
class test_parent { //基类
    public $name; //定义姓名  父类成员需要定义为public,才能够在继承类中直接使用 this来调用.
    function __construct($name) {
        $this->name = $name;
    }
}
class test_son extends test_parent { //派生类  继承test_parent
    public $gender; //定义性别
    public $age; //定义年龄
    function __construct($gender, $age) { //继承类的构造函数
        parent::__construct(&#39;nostop&#39;); //使用parent调用父类的构造函数,来进行对父类的实例化
        $this->gender = $gender;
        $this->age = $age;
    }
    function __destruct() {
    }
    function print_info() {
        echo $this->name . &#39;是个&#39; . $this->gender . &#39;,今年&#39; . $this->age . &#39;岁&#39; . &#39;<br />&#39;;
    }
}
$nostop = new test_son(&#39;女性&#39;, &#39;22&#39;); //实例化test_son对象
$nostop->print_info(); //执行输出函数  nostop是个女性,今年23岁
?>
로그인 후 복사

使用self::$name的形式.注意的是const属性的申明格式,const PI=3.14,而不是const $PI=3.14

实例代码如下:

<?php
class clss_a {
    private static $name = "static class_a";
    const PI = 3.14;
    public $value;
    public static function getName() {
        return self::$name;
    }
    //这种写法有误,静态方法不能访问非静态属性
    public static function getName2() {
        return self::$value;
    }
    public function getPI() {
        return self::PI;
    }
}
?>
로그인 후 복사

还要注意的一点是如果类的方法是static的,他所访问的属性也必须是static的.

在类的内部方法访问未声明为const及static的属性时,使用$this->value ='class_a';的形式.


文章地址:

转载随意^^请带上本文地址!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C 언어의 const에 대한 깊은 이해 C 언어의 const에 대한 깊은 이해 Feb 18, 2024 pm 12:56 PM

C에서 const에 대한 자세한 설명 및 코드 예 C 언어에서는 const 키워드를 사용하여 상수를 정의하는데, 이는 프로그램 실행 중에 변수의 값을 수정할 수 없음을 의미합니다. const 키워드를 사용하여 변수, 함수 매개변수 및 함수 반환 값을 수정할 수 있습니다. 이 기사에서는 C 언어에서 const 키워드 사용에 대한 자세한 분석을 제공하고 구체적인 코드 예제를 제공합니다. const 수정된 변수 const를 사용하여 변수를 수정하는 경우 이는 해당 변수가 읽기 전용 변수이고 값이 할당되면 수정할 수 없음을 의미합니다. 예: 상수

C 언어에서 const를 사용하는 방법 C 언어에서 const를 사용하는 방법 Sep 20, 2023 pm 01:34 PM

const는 상수, 함수 매개변수의 const 수정자, 수정된 const 함수 반환 값, 수정된 const 포인터를 선언하는 데 사용할 수 있는 키워드입니다. 자세한 소개: 1. 상수 선언 const 키워드는 프로그램 실행 중에 수정될 수 없습니다. 상수는 정수, 부동 소수점 숫자 등의 기본 데이터 유형일 수 있습니다. 2. 함수 매개변수의 const 한정자는 함수 매개변수에 사용될 수 있으며, 이는 매개변수가 함수 내에서 수정될 수 없음을 나타냅니다.

var, let 및 const의 차이점에 대해 이야기해 보겠습니다(코드 예). var, let 및 const의 차이점에 대해 이야기해 보겠습니다(코드 예). Jan 06, 2023 pm 04:25 PM

이 글은 여러분에게 JavaScript에 대한 관련 지식을 제공합니다. 주로 var, let 및 const의 차이점과 ECMAScript와 JavaScript의 관계를 소개합니다. 관심 있는 친구들이 이 글을 살펴보는 것이 도움이 될 것입니다.

Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Windows 11에서 오디오 서비스가 응답하지 않는 문제를 해결하는 18가지 방법 Jun 05, 2023 pm 10:23 PM

오디오 출력 및 입력이 Windows 11에서 예상대로 작동하려면 특정 드라이버와 서비스가 필요합니다. 때때로 백그라운드에서 오류가 발생하여 오디오 출력 없음, 오디오 장치 누락, 오디오 왜곡 등과 같은 오디오 문제가 발생합니다. Windows 11에서 응답하지 않는 오디오 서비스를 수정하는 방법 아래 언급된 수정 사항부터 시작하여 문제가 해결될 때까지 목록을 살펴보는 것이 좋습니다. Windows 11에서는 여러 가지 이유로 오디오 서비스가 응답하지 않을 수 있습니다. 이 목록은 Windows 11에서 오디오 서비스가 응답하지 못하게 하는 대부분의 문제를 확인하고 해결하는 데 도움이 됩니다. 프로세스를 진행하는 데 도움이 되도록 아래 관련 섹션을 따르세요. 방법 1: 오디오 서비스를 다시 시작합니다.

C++ 함수에서 const 키워드의 올바른 사용법은 무엇입니까? C++ 함수에서 const 키워드의 올바른 사용법은 무엇입니까? Apr 11, 2024 pm 02:36 PM

C++에서 const 키워드의 올바른 사용법: const를 사용하여 함수를 수정하는 것은 함수가 전달된 매개변수나 클래스 멤버를 수정하지 않는다는 것을 의미합니다. 함수 포인터를 선언하기 위해 const를 사용하는 것은 포인터가 상수 함수를 가리킨다는 것을 의미합니다.

C++ 구문 오류: const 객체는 정의할 때 초기화해야 합니다. 어떻게 처리해야 합니까? C++ 구문 오류: const 객체는 정의할 때 초기화해야 합니다. 어떻게 처리해야 합니까? Aug 22, 2023 am 09:13 AM

C++ 프로그래머에게 구문 오류는 가장 일반적인 문제 중 하나입니다. 일반적인 실수 중 하나는 const 객체가 정의 시 초기화되어야 한다는 것입니다. 이런 상황이 발생하면 어떻게 대처해야 할까요? 먼저 const 객체가 무엇인지 이해해야 합니다. const 키워드는 프로그램 실행 중에 변수 값을 변경할 수 없음을 지정하는 C++의 특수 유형 한정자입니다. 이러한 변수를 "상수"라고 합니다. 초기화하지 않고 const 객체를 정의하면 위의 오류가 발생합니다. 이것은

C 언어에서 static의 기능과 사용법은 무엇입니까? C 언어에서 static의 기능과 사용법은 무엇입니까? Jan 31, 2024 pm 01:59 PM

C 언어에서 정적의 역할 및 사용법: 1. 변수 범위, 3. 내부 함수, 5. 함수 수정, 1. 변수 범위, 변수 앞에 static 키워드가 있는 경우 변수의 범위는 변수가 선언된 파일로 제한됩니다. 즉, 변수는 "파일 수준 범위"이므로 " 중복 정의" 변수 문제 2. 수명주기, 정적 변수는 프로그램 실행을 시작할 때 한 번 초기화되고 프로그램이 끝나면 소멸됩니다.

Java에서 static, this, super 및 final을 사용하는 방법 Java에서 static, this, super 및 final을 사용하는 방법 Apr 18, 2023 pm 03:40 PM

1. static 먼저 다음 프로그램을 살펴보십시오. publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello, world!");//(2)}} 이것을 보았습니다. 세그먼트 프로그램은 Java를 공부한 대부분의 사람들에게 친숙합니다. Java를 배우지 않았지만 C 등 다른 고급 언어를 배웠더라도 이 코드의 의미를 이해할 수 있어야 합니다. 단순히 "Hello, world"를 출력하고 다른 용도는 없습니다. 그러나 정적 키워드의 주요 목적을 보여줍니다.

See all articles