제6 절 접근 속성 과 방법[6]
name = $name; } } class House { //array of rooms public $room; } //create empty house $home = new house; //add some rooms $home->room[] = new Room("bedroom"); $home->room[] = new Room("kitchen"); $home->room[] = new Room("bathroom"); //show the first room of the house print($home->room[0]->name); ?>
PHP 에는 두 개의 특수 한 네 임 스페이스 가 있 습 니 다.parent 네 임 스페이스 는 부모 클래스 를 가리 키 고 self 네 임 스페이스 는 현재 클래스 를 가리 키 고 있 습 니 다.예 6.6 에 서 는 parent 네 임 스페이스 로 부모 클래스 의 구조 함 수 를 호출 하 는 방법 을 보 여 줍 니 다.또한 self 로 구조 함수 에서 다른 종류의 방법 을 호출 합 니 다.blood = $blood; if($name) { $this->name = $name; } } } class Mammal extends Animal file:/포유동물{public$furColor;file://모피 색 public$legs;function __construct($furColor, $legs, $name=NULL) { parent::__construct("warm", $name); $this->furColor = $furColor; $this->legs = $legs; } } class Dog extends Mammal { function __construct($furColor, $name) { parent::__construct($furColor, 4, $name); self::bark(); } function bark() { print("$this->name says 'woof!'"); } } $d = new Dog("Black and Tan", "Angus"); ?>
4 절 에 서 는 함 수 를 호출 하 는 방법 을 소개 합 니 다.대상 의 구성원 에 게 이렇게 호출 됩 니 다.실행 할 때 변수의 이름 을 확인 하려 면$this->$Property 라 는 표현 식 을 사용 할 수 있 습 니 다.방법 을 호출 하려 면$obj->$method()를 사용 할 수 있 습 니 다.->연산 자 를 사용 하여 함수 의 값 을 되 돌려 줄 수도 있 습 니 다.이것 은 PHP 이전 버 전에 서 는 허용 되 지 않 습 니 다.예 를 들 어,이러한 표현 식 을 쓸 수 있 습 니 다:$obj->getObject()->callMethod().이렇게 하면 중간 변 수 를 사용 하지 않 고 Factory 모드 와 같은 디자인 모델 을 실현 하 는 데 도 도움 이 됩 니 다.