什么时候宣布一个类的属性?

时间:2010-11-22 19:08:39

标签: php oop

我刚刚进入PHP OOP,我不清楚我需要在课程开始时声明哪些属性。

我是否声明属性:

答:这是方法的参数吗?

B:不是方法的参数,但仍在方法中?

C:从方法返回?

编辑示例 这是我正在尝试创建

的示例用户类
class user
{
public function selectMember($username,$password)
$query = "SELECT * FROM users WHERE username='$username' && password='$password'";
return $query;
}

所以我只需要在课程顶部声明$ query?

4 个答案:

答案 0 :(得分:2)

属性是关于对象的数据。例如,采取经典汽车的例子:

  • 汽车的颜色,品牌/型号,年份等都是汽车的特性。
  • 可能有一个方法StartCar需要Key个对象才能启动。汽车没有钥匙,因此钥匙不是财产 - 这是方法论证。但是汽车确实有一个能够验证给定密钥的锁。参数和属性一起工作以执行操作(或者,在这种情况下,验证操作)。

汽车类的每个实例可能具有这些属性的不同值。

如果您需要特定的帮助来决定在属性中做什么,我们将需要有关您的具体要求的更多信息。

答案 1 :(得分:2)

我想到这些东西的方式是对象是现实生活对象(duh)的代码表示。上面的汽车示例是一个很好的例子。对于大多数现实生活中的对象,有属性和动作。如果我们的对象是人,它将具有名称,身高,体重,头发颜色等属性。然后,我们的人会有行动,比如跑步,睡觉,吃饭。

操作将是方法,属性将是属性。属性将用于操作或程序的其他部分,需要检查对象的状态,IE,程序的另一部分会询问此人现在有多高。

在大多数情况下,返回值和参数不是属性。一个值得注意的例外是您用来实例化对象的参数,因为其他方法通常需要这些参数。对于方法中使用的变量,如果它们定义了对象的整体状态,则它们应该是属性,但如果要在方法内创建变量(如计数器),则只需要实现方法的目标。 ,它是你的对象的属性是没有意义的。

我会先从错误的属性方面犯错。如果你到了需要财产来完成某事的地步,那就去创造它。在我有直接需要之前,我不会创建它们。通过这种方式,您将开始了解对象在逻辑上起作用所需的属性。

我希望这有点意义。

答案 2 :(得分:1)

Php.net有一个真正的好documentation about PHP OOP

答案 3 :(得分:0)

根据“When should I declare variables in a PHP class?”中的最佳答案,这几乎是您的选择。