<?php
class
person{
private
$name
=
'bruce'
;
public
function
getname(){
return
$this
->name;
}
public
static
function
getobjbyself(){
return
new
self();
}
public
static
function
getobjcbystatic(){
return
new
static
();
}
}
class
teacher
extends
person{
public
static
function
getobjbyparent(){
return
new
parent();
}
}
$obj1
=
new
person();
echo
'类名:'
.get_class(
$obj1
).
'<br>'
;
echo
$obj1
->getname().
'<hr>'
;
$clsname
=
'person'
;
$obj2
=
new
$clsname
();
echo
'类名:'
.get_class(
$obj2
).
'<br>'
;
echo
$obj2
->getname().
'<hr>'
;
$obj3
=
new
$obj2
();
echo
'类名:'
.get_class(
$obj3
).
'<br>'
;
echo
$obj3
->getname().
'<hr>'
;
$obj4
= person::getobjbyself();
echo
'类名:'
.get_class(
$obj4
).
'<br>'
;
echo
$obj4
->getname().
'<hr>'
;
$obj5
= teacher::getobjbyparent();
echo
'类名:'
.get_class(
$obj5
).
'<br>'
;
echo
$obj5
->getname().
'<hr>'
;
$obj6
= person::getobjcbystatic();
echo
'类名:'
.get_class(
$obj6
).
'<br>'
;
echo
$obj6
->getname().
'<hr>'
;
$obj7
= teacher::getobjcbystatic();
echo
'类名:'
.get_class(
$obj7
).
'<br>'
;
echo
$obj7
->getname().
'<hr>'
;
$obj8
= person::getobjbyself();
echo
'类名:'
.get_class(
$obj8
).
'<br>'
;
echo
$obj8
->getname().
'<hr>'
;
$obj9
= teacher::getobjbyself();
echo
'类名:'
.get_class(
$obj9
).
'<br>'
;
echo
$obj9
->getname().
'<hr>'
;