php 클래스 를 실례 화 할 때 전 삼 하 는 방법 분석
우리 가 phop 류 를 예화 할 때 어떻게 파 라 메 터 를 전달 해 야 합 니까?이것 은 이런 구조 방법 에 달 려 있다.
예:
person.class.php
<?php
class person{
var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.' ';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
// , eat() zuoyong() , eat()
// http://localhost/zuoyong?food=xigua url zuoyong()
// eat() $_GET['food'] url ,
$this->eat();
}
}
?>
son.php
<?php
include('person.class.php');
$son = new person('cuihua',25,'girl');//
//$son->xinxi();//cuihua is girl and age is 25 fuse is yello
$son->name = ' ';
$son->eat();//
?>
주:php 클래스 의 속성($name,$age 등)은 이 클래스 의 전역 범위 내 에서 사용 할 수 있 으 며,클래스 의 속성 을'이 클래스 의'전역 변수 로 볼 수 있 습 니 다.그러나 외부 프로그램 이 이 클래스 의 방법 을 다시 호출 할 때 이 클래스 는 다시 실례 화 됩 니 다.즉,구조 방법 을 다시 실행 하려 면 지난번 에$name 등 속성 에 부여 한 값 이 비 워 지기 때문에$name 등 속성의 값 은 상수 나 session 의 값 처럼 계속 유지 되 지 않 습 니 다.son2.php
<?php
include('person.class.php');
$son = new person('cuihua',25,'girl');
$son2 = $son;
$son2->name = ' ';
$son->eat();//
?>
$son 대상 에 게$sin 2 를 부여 한 후에$son 2 의 name 매개 변 수 를 바 꾸 었 습 니 다.이때$son 의 name 매개 변수 도 이에 따라 달라 진 것 을 발 견 했 습 니 다.이 를 통 해 알 수 있 듯 이 phop 5 에서 대상 을 변수 에 할당 하 는 것 은 전달 대상 을 참조 하 는 것 이지 값 으로 전달 하 는 것 이 아 닙 니 다.이때$son 의 사본 을 만 들 지 않 습 니 다.전달 대상 에서 함수 로,또는 방법 에서 대상 으로 돌아 가 전달 을 참조 하 는 지,값 전달 을 참조 하 는 지 검증 을 기다 리 고 있 습 니 다.vardump()인쇄 대상 은 대상 의 속성 만 인쇄 할 수 있 습 니 다.그 방법 은 인쇄 할 수 없습니다.대상 의 방법 목록 을 얻 으 려 면 get 을 사용 하 십시오.class_methods 함수.
<?php
$son = new person('cuihua',25,'girl');
var_dump($son);
/*
object(person)[1]
public 'name' => string 'cuihua' (length=6)
public 'color' => string 'yello' (length=5)
public 'sex' => string 'girl' (length=4)
public 'age' => int 25
*/
$mon = get_class_methods($son);
var_dump($mon);
/*
array (size=4)
0 => string '__construct' (length=11)
1 => string 'eat' (length=3)
2 => string 'xinxi' (length=5)
3 => string 'zuoyong' (length=7)
*/
?>
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 의 인 스 턴 스 는 무슨 뜻 입 니까?...에서 오다https://zhidao.baidu.com/question/582656655989089845.html 실례 가 대상 이다 인 스 턴 스 변수:이 클래스 로 대상 을 만 들 때 만 나타 나 고 할당 됩...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.