>백엔드 개발 >PHP 튜토리얼 >PHP의 객체 연산자(`->` 및 `::`)는 어떻게 작동합니까?

PHP의 객체 연산자(`->` 및 `::`)는 어떻게 작동합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-05 04:28:08902검색

How Do PHP's Object Operators (`->` 및 `::`) 직장?
` 및 `::`) 작동합니까? " />

PHP의 개체 연산자

PHP에서는 개체 연산자를 활용하여 개체와 상호 작용하고 개체의 속성과 메서드를 활용합니다. 두 가지 기본 개체 연산자가 있습니다.

1. 객체 연산자(>)

이 연산자는 다음을 허용합니다. 인스턴스 속성에 액세스하고 객체 내에서 메서드를 호출하려면 해당 구문은 다음과 같습니다.

$object->property;
$object->method();

예를 들어 다음 클래스 정의가 주어지면:

class Person {
    private $name;
    public function sayHello() {
        return "Hello, my name is " . $this->name;
    }
}

인스턴스를 생성할 수 있습니다. 이 클래스의 객체 연산자를 사용하여 해당 속성에 액세스하고 해당 메서드를 호출합니다.

$person = new Person();
$person->name = "John Doe";
echo $person->sayHello(); // Output: "Hello, my name is John Doe"

2. (::)

이 연산자는 세 가지 시나리오에서 사용됩니다.

  • 정적 메서드 호출: 정적 메서드는 static 키워드를 사용하여 정의되며 다음 작업을 수행합니다. 객체 인스턴스가 필요하지 않습니다. :: 연산자와 메소드를 사용하여 호출할 수 있습니다. name.
class Math {
    public static function add($a, $b) {
        return $a + $b;
    }
}

$result = Math::add(5, 10); // Output: 15
  • 정적 변수 액세스: 정적 변수는 개별 인스턴스가 아닌 클래스 자체에 속하며 :: 연산자를 사용하여 액세스할 수 있습니다.
class Counter {
    public static $count = 0;
    public function increment() {
        self::$count++;
    }
}

Counter::increment(); // Increment the static $count
echo Counter::$count; // Output: 1
  • 부모님에게 전화하기 메서드: 상속을 사용할 때 :: 연산자를 사용하여 하위 클래스 내의 상위 클래스에서 메서드를 호출할 수 있습니다.
class Animal {
    public function move() {
        //...
    }
}

class Dog extends Animal {
    public function bark() {
        // Call the move() method from the parent class using ::
        parent::move();
    }
}

위 내용은 PHP의 객체 연산자(`->` 및 `::`)는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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