我试图在PHP中学习OOP。让我感到困惑的是理解对象是什么以及如何判断我何时看到对象。我可能非常错,但到目前为止,我似乎已经得到了它。
属性是类/方法中的变量。 方法是类中的函数。
物体......好......这就是我迷失的地方。但是,据我所知(如果我正在使用它),对象就是这些属性和方法的组合
所以,如果
class person {
var $name;
function set_name($new_name) {
$this->name = $new_name;
}
function get_name() {
return $this->name;
}
}
班级是人 该属性是$ name 方法是set_name()
并且对象会像某些东西一样
$person_id = new person();?
现在,如果我一切都错了,请大声笑。
答案 0 :(得分:3)
我认为你完全正确。对象是类的实例。
在您的情况下,是的,$person_id
是对象。它是类person
的单个实例。它具有类的所有特性 - 它的属性和方法,但它使用它们独立于类的其他实例。另请注意,$person_id
是一个误导性的名称。即使您添加id
作为属性,它也不仅存储人员ID。该对象不是只是该人的ID,它是 人 - 它是构成您的成员的所有特征和功能的组合(如您所说) class,person
。
考虑
$person1 = new person();
$person2 = new person();
此时,两个变量都是对象 - 类person
的实例 - 并且它们都具有相同的类默认特征。
然后给他们起名字
$person1->set_name('Steve');
$person2->set_name('Ned');
现在每个对象都已被修改并保存有关其自身的唯一信息。它们保留person
的相同特征或结构,但它们是独特的,彼此独立。
顾名思义,想象一个对象。这是一个东西,一个对象;它存储自身独有的信息,其结构由其类定义。此类的其他对象将具有相同的结构,相同的特征和内部工作方式,但它们是独立且不同的东西,独立且不同的对象存在,行为和独立发展。
答案 1 :(得分:0)
基本上,对象是类的实例..
所以这里$person_id
是对象,你可以用这个对象调用你在类person
中定义的方法。