제8 절 접근 방식[8]
name = $name; $this->price = floatval($price); $this->id = uniqid(); } //checks if two widgets are the same 검사 두 widget 이 같은 public function equals($widget){return(($this->name==$widget->name)AND($this->price==$widget->price);}} $w1 = new Widget('Cog', 5.00); $w2 = new Widget('Cog', 5.00); $w3 = new Widget('Gear', 7.00); //TRUE if($w1->equals($w2)) { print("w1 and w2 are the same
n"); } //FALSE if($w1->equals($w3)) { print("w1 and w3 are the same
n"); } //FALSE,==includes id in comparison if($w1==$w2)file://부등식,ID 가 다 르 기 때문에{print("w1 과 w2 are the same
n");}?>
하위 클래스 는 부모 클래스 를 덮어 쓰 는 방법 으로 접근 방식 을 바 꿀 수 있 습 니 다.그럼 에 도 불구 하고 제한 이 있 습 니 다.만약 에 Public 클래스 의 구성원 을 덮어 쓰 면 그의 하위 클래스 에 서 는 Public 를 유지 해 야 합 니 다.proctected 멤버 를 덮어 쓰 면...proctected 를 유지 하거나 Public 로 변 할 수 있 습 니 다.Private 구성원 은 현재 클래스 에서 만 볼 수 있 습 니 다.부모 클래스 의 private 구성원 과 같은 이름 을 가 진 구성원 은 현재 클래스 에서 원래 와 다른 구성원 을 만 들 것 입 니 다.따라서,기술적 으로 private 멤버 를 덮어 쓸 수 없습니다.final 키 워드 는 구성원 방문 을 제한 하 는 또 다른 방법 입 니 다.하위 클래스 는 부모 클래스 에서 final 로 표시 하 는 방법 을 덮어 쓸 수 없습니다.final 키 워드 는 속성 에 사용 할 수 없습니다.
//haohhappy 주:PHP 5 의 대상 모델 이 아직도 완선 되 지 않 습 니 다.예 를 들 어 final 은 자바 에서 처럼 Data,Method,심지어 Class 를 사용 할 수 없습니다.