<?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>'
;