В чем разница между Object и Class в PHP? Я спрашиваю, потому что, я действительно не вижу смысла для них обоих.
Можете ли вы сказать мне разницу с хорошим примером?
В чем разница между Object и Class в PHP? Я спрашиваю, потому что, я действительно не вижу смысла для них обоих.
Можете ли вы сказать мне разницу с хорошим примером?
Я предполагаю, что вы читаете руководство по базовому PHP OOP.
Класс - это то, что вы используете для define свойств, методов и поведения объектов. Объекты - это вещи, которые вы создаете из класса. Подумайте о классе как о плане, а о объекте, как о фактическом здании, которое вы строите, следуя чертежу (классу). (Да, я знаю, что аналог проекта/здания был доведен до смерти.)
// Class
class MyClass {
public $var;
// Constructor
public function __construct($var) {
echo 'Created an object of MyClass';
$this->var = $var;
}
public function show_var() {
echo $this->var;
}
}
// Make an object
$objA = new MyClass('A');
// Call an object method to show the object property
$objA->show_var();
// Make another object and do the same
$objB = new MyClass('B');
$objB->show_var();
Объекты здесь разные (A и B), но они оба являются объектами класса MyClass
. Возвращаясь к аналогии проекта/здания, подумайте об этом, используя тот же план, чтобы построить два разных здания.
Вот еще один фрагмент, который на самом деле говорит о зданиях, если вам нужен более буквальный пример:
// Class
class Building {
// Object variables/properties
private $number_of_floors = 5; // Each building has 5 floors
private $color;
// Constructor
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
);
}
}
// Build a building and paint it red
$bldgA = new Building('red');
// Build another building and paint it blue
$bldgB = new Building('blue');
// Tell us how many floors these buildings have, and their painted color
$bldgA->describe();
$bldgB->describe();
Для новых разработчиков:
Учебный класс
Класс - это коллекция методов и переменных
class Test{
const t = "OK";
var $Test;
function TestFunction(){
}
}
объект
Объект является экземпляром класса (когда вы хотите использовать свой класс и то, что вы создаете)
$test = new Test();
$test->TestFunction();//so here you can call to your class' function through the instance(Object)
Класс - это определение группы, содержащее структуру и поведение, а объект - это все, что имеет структуру и поведение. Объект является экземпляром класса, мы можем создать несколько объектов одного класса.