<?php
interface IUser
{
function getName();
}class User implements IUser
{
public function __construct( $id ) { } public function getName()
{
return "Jack";
}
}class UserFactory
{
public static function Create( $id )
{
return new User( $id );
}
}$uo = UserFactory::Create( 1 );
echo( $uo->getName()."\n" );
?>感觉 $uo 在执行的过程中,并没有涉及到接口 IUser 啊
为什么前面要加个这个啊?interface IUser
{
function getName();
}
class UserFactory
{
public static function Create( $id )
{
return new User( $id );
}
}为什么这个方法要用static
很明显,你的对象并没有创建的情况下,如果你需要调其中的方法,属性,则只能定义为 static
$uo = UserFactory::Create( 1 );
可以参考一下面向对象技术中的说明。