第六节访问属性和方法6
可以结合,例如,如果一个对象包含一个对象属性,你可以使用这两个操作符获取内部>对象。您甚至可以使用双字符串引用来放置这些表达式。请看一个室内属性的6.5个属性示例,其中包含一组房间对象。
类似的访问方法和访问属性。>运算符用于对实例进行方法。在6.1例getlastlogin函数调用方法执行。类几乎是一样的。
如果一个类继承了另一个类,那么父类中的属性和方法在类中是有效的,甚至在子类语句中也是如此。如前所述,继承非常强大。如果要访问继承的属性,只需要访问基类,自引用可以用作属性::运算符。
课堂
{
公开名称;
功能__construct($name =无名)
{
这个名字;
}
}
类的房子
{
房间数组
公共空间;
}
创建空房间
新居=新房;
添加一些房间
新的房间(卧室);
新的房间(厨房 );
新的房间(浴室);
显示房子的第一个房间。
打印($ home >房间{ 0 } - >名称);
>
PHP有两个特殊的名称空间:父命名空间到父类,自我指向当前的命名空间类。6.6的例子显示了如何使用父类调用父类的构造函数。也用于构造函数调用自己到另一个类。
动物类文件
{
公开的血液;档案:热血热血或冷血财产
公开名称;
公共功能__construct(合血,$name = null)
{
这血=血;
如果(名字)
{
这个名字;
}
}
}
类哺乳动物扩展动物档案:哺乳动物
{
公众furcolor美元;文件: / /皮毛的颜色
公有美元;
功能__construct(furcolor美元,美元的腿,$name = null)
{
家长::__construct(暖
美元-> furcolor = $ furcolor;
这条腿=腿;
}
}
类犬延伸哺乳动物
{
功能__construct($ furcolor,$name)
{
家长::__construct($ furcolor,4,$的名字);
自我::树皮();
}
功能树皮()
{
打印(美元->名称says'woof!;
}
}
美元=新狗(黑色和棕褐色)
>
第四部分介绍如何调用函数。对于对象的成员,这样调用:如果您需要在运行时确认变量的名称,您可以使用。如果你想调用的方法,你可以使用$ obj -> $()方法。
还可以使用-操作符返回一个值函数,这在PHP以前的版本中是不允许的。例如,你可以写一个表达式:($ obj -> GetObject)(-> callmethod)。这避免了中间变量的使用,但也有助于实现某些设计模式,如工厂模式。