함수 호출의 범위 및 가시성: 범위: 함수에 액세스할 수 있는 변수의 범위(로컬/전역)를 정의합니다. 가시성: 다른 기능에서 액세스할 수 있는 기능의 범위(공개/보호/비공개)를 정의합니다. 범위는 함수가 호출될 때 적용되며 액세스할 수 있는 변수를 결정합니다. 실제 사례: 속성과 메서드의 가시성 제한을 보여주기 위해 User 클래스를 예로 들어 보겠습니다.
PHP OOP에서 함수 호출의 범위 및 가시성
범위
함수의 범위는 함수가 액세스할 수 있는 변수의 범위를 정의합니다. PHP에는 두 가지 유형의 범위가 있습니다.
Visibility
함수의 가시성은 다른 함수가 해당 함수에 액세스할 수 있는 범위를 정의합니다. PHP에는 세 가지 가시성 수준이 있습니다.
함수 호출 범위
함수 호출 시 범위의 역할은 어떤 변수에 액세스할 수 있는지 결정하는 것입니다. 변수는 해당 범위 내의 변수에만 액세스할 수 있습니다.
다음 예에서는 범위가 변수에 대한 액세스에 어떻게 영향을 미치는지 보여줍니다.
<?php $global_variable = "全球变量"; function myFunction() { $local_variable = "局部变量"; echo "局部变量:$local_variable<br>"; echo "全局变量:$global_variable<br>"; } myFunction(); ?>
출력:
局部变量:局部变量 全局变量:全球变量
실제 예
사용자 정보를 처리하는 클래스를 고려하세요.
<?php class User { public $name; protected $email; private $password; public function __construct($name, $email, $password) { $this->name = $name; $this->email = $email; $this->password = $password; } public function getName() { return $this->name; } protected function getEmail() { return $this->email; } private function getPassword() { return $this->password; } } $user = new User("约翰·史密斯", "john.smith@example.com", "12345"); echo $user->getName(); // 约翰·史密斯 echo $user->getEmail(); // 错误:无法访问受保护属性 echo $user->getPassword(); // 错误:无法访问私有属性 ?>
이 예에서는:
$name
은 공개 속성이며 어디에서나 액세스할 수 있습니다. $name
是一个公共属性,可以在任何地方访问。$email
是一个受保护属性,只能在类とその子类中访问。$password
是一个私有属性,只能在类中访问。getName()
是一个公共方法,可以在任何地方调用。getEmail()
是一个受保护方法,只能在类とその子类中调用。getPassword()
$email
은 보호된 속성이며 とその 클래스의 하위 클래스에서만 액세스할 수 있습니다. $password
는 개인 속성이며 클래스 내에서만 액세스할 수 있습니다. 🎜🎜getName()
은 어디에서나 호출할 수 있는 공개 메서드입니다. 🎜🎜getEmail()
은 보호된 메서드이며 とその 클래스의 하위 클래스에서만 호출할 수 있습니다. 🎜🎜getPassword()
는 비공개 메서드이며 클래스에서만 호출할 수 있습니다. 🎜🎜위 내용은 PHP OOP의 함수 호출 범위 및 가시성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!