我正在尝试用 PHP 学习 OOP。令我困惑的是如何理解物体是什么以及如何辨别我正在看的物体。我可能错了,但到目前为止我似乎是这样理解的。
属性是类/方法内的变量。 方法是类内的函数。
而对象是......嗯......这正是我迷失的地方。但是,据我所知(如果我明白了),对象是这些属性和方法的组合
那么,如果
class person {
var $name;
function set_name($new_name) {
$this->name = $new_name;
}
function get_name() {
return $this->name;
}
}
类(class)是人 该属性是 $name 方法是set_name()
物体会是这样的吗
$person_id = new person();?
现在,如果我一切都错了,哈哈。
最佳答案
我认为你说得完全正确。对象是类的实例。
就您而言,是的,$person_id
是对象。它是person
类的单个实例。它具有该类的所有特征 - 其属性和方法,但它独立于该类的其他实例来使用它们。另请注意,$person_id
是一个误导性名称。它不仅存储人员 ID,甚至您将 id
添加为属性。对象不仅仅是人的 ID,它是人 - 它是构成您的成员的所有特征和功能的组合(如您所说)类,人
。
考虑
$person1 = new person();
$person2 = new person();
此时,两个变量都是对象 - 类 person
的实例 - 并且它们都具有该类的相同默认特征。
然后给他们起名字
$person1->set_name('Steve');
$person2->set_name('Ned');
现在每个对象都已被修改并保存有关其自身的唯一信息。它们保留了与人
相同的特征或结构,但它们是唯一且彼此独立的。
顾名思义,想象一个对象。它是一个东西,一个对象;它存储关于其自身的信息,这些信息对于其自身来说是唯一的,并具有由其类定义的结构。此类的其他对象将具有相同的结构、相同的特征和内部工作原理,但它们是独立且不同的事物,是存在、运行和运行的独立且不同的对象。独立进化。
关于PHP 对象 - 什么是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26200198/