php $unresult,PHP: Lo básico - Manual

本文讲解了如何使用new关键字创建类的实例,包括在没有构造函数抛异常的情况下对象创建,以及在类定义前实例化的规则。还探讨了通过字符串全名和类名动态创建实例的方法,以及静态方法创建对象实例和对象成员操作的示例。
摘要由CSDN通过智能技术生成

new

Para crear una instancia de una clase, se debe emplear la palabra reservada

new. Un objeto se creará siempre a menos que el objeto tenga un

constructor que arroje una

excepción en caso de error. Las

clases deberían ser definidas antes de la instanciación (y en algunos casos

esto es un requerimiento).

Si se emplea un string que contenga el nombre de una clase con

new, se creará una nueva instancia de esa clase. Si

la clase estuviera en un espacio de nombres, se debe utilizar su nombre completo

al realizar esto.

Nota:

Si no hay argumentos para pasar al constructor de la clase,

se pueden omitir los paréntesis después del nombre de la clase.

Ejemplo #3 Creación de una instancia

$instancia= newClaseSencilla();// Esto también se puede hacer con una variable:$nombreClase='ClaseSencilla';$instancia= new$nombreClase();// new ClaseSencilla()?>

En el contexto de una clase, es posible crear un nuevo objeto con

new self y new parent.

Cuando se asigna una instancia ya creada de una clase a una nueva variable, ésta última

accederá a la misma instancia que el objeto que le fue asignado. Esta

conducta es la misma que cuando se pasan instancias a una función. Se puede

realizar una copia de un objeto ya creado a través de la

clonación del mismo.

Ejemplo #4 Asignación de objetos

$instancia= newClaseSencilla();$asignada=$instancia;$referencia=&$instancia;$instancia->var='$asignada tendrá este valor';$instancia=null;// $instancia y $referencia son nullvar_dump($instancia);var_dump($referencia);var_dump($asignada);?>

El resultado del ejemplo sería:

NULL

NULL

object(ClaseSencilla)#1 (1) {

["var"]=>

string(27) "$asignada tendrá este valor"

}

Existe un par de formas de crear instancias de un objecto:

Ejemplo #5 Creación de nuevos objetos

static public functiongetNew()

{

return new static;

}

}

classHijaextendsPrueba{}$obj1= newPrueba();$obj2= new$obj1;var_dump($obj1!==$obj2);$obj3=Prueba::getNew();var_dump($obj3instanceofPrueba);$obj4=Hija::getNew();var_dump($obj4instanceofHija);?>

El resultado del ejemplo sería:

bool(true)

bool(true)

bool(true)

Es posible acceder a un miembro de un objeto recién creado en

una única expresión:

Ejemplo #6 Acceder a un mimebro de un objeto recién creado

<?phpecho  (newDateTime())->format('Y');?>

El resultado del ejemplo

sería algo similar a:

2016

Nota:

Antes de PHP 7.1, los argumentos no se evalúan si no hay una

función constructora definida.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值