Разница между объектом и классом в PHP? - PullRequest
23 голосов
/ 29 января 2011

В чем разница между объектом и классом в PHP? Я спрашиваю, потому что, я действительно не вижу смысла в них обоих.

Можете ли вы сказать мне разницу с хорошим примером ?

Ответы [ 3 ]

49 голосов
/ 29 января 2011

Я предполагаю, что вы прочитали руководство по основному PHP OOP.

Класс - это то, что вы используете для определения свойств, методов и поведения объектов.Объекты - это вещи, которые вы создаете из класса.Представьте себе класс как план , а объект как фактическое здание , которое вы строите, следуя плану (классу). (Да, я знаю, что план / аналогия здания были сделаны до смерти.)

// 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's 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();
1 голос
/ 19 июня 2018

Для новых разработчиков:

Класс

Класс представляет собой набор методов и переменных

class Test{

  const t = "OK";
  var $Test;
  function TestFunction(){

  }
}

Object

Объект является экземпляром класса (когда вы хотите использовать свой класс и создаваемую вещь)

$test = new Test();
$test->TestFunction();//so here you can call to your class' function through the instance(Object)
0 голосов
/ 14 июня 2019

Класс - это определение группы, содержащее структуру и поведение, а объект - это все, что имеет структуру и поведение.Объект является экземпляром класса, мы можем создать несколько объектов одного класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...