PHP中对象和类之间的区别?

2022-08-30 15:36:41

PHP中的对象和类有什么区别?我问是因为,我真的看不出他们俩有什么意义。

你能用一个很好的例子告诉我区别


答案 1

我假设你已经阅读了关于基本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();

答案 2

对于新开发人员:

类是方法和变量的集合

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)

推荐