<?php
class Building {
public $number_of_floors = 5;
private $color;
public function __construct($paint) {
$this->color = $paint;
}
public function describe() {
printf('This building has %d floors. It is %s in color.',
$this->number_of_floors,
$this->color
);
}
}
$bldgA = new Building('red');
$bldgA->describe();
?>
看起来$
表示像变量一样:
$number_of_floors
$color
但是当我看到以下内容时,我会感到困惑:
$bldgA->describe();
$bldgA->number_of_floors;
为什么这些变量前面没有美元符号?
$bldgA = new Building('red');
- 好的,是的,$bldgA
实际上是一个指向对象的变量。$bldgA->number_of_floors;
不是调用“变量”,而是调用属性 ;) - Quasdunk2
和"red"
也是对象。无论如何,“对象”这个比喻确实要求你将对象视为一个单一的东西。当然,它可能有不同的属性可以访问,响应不同的方法,但本质上它是一个统一的整体;这就是整个重点所在。 - Wooble