Если вы определите их снова в других классах, то технически да, вы могли бы.Но они являются отдельными объектами, поэтому они не будут хранить одинаковые значения.
Это как машина, мяч и книга.Все они имеют свойство «цвет», но значения различны для каждого, и изменение любого из них не повлияет на остальные.
class Car {
public $color;
}
class Ball {
public $color;
}
class Book {
public $color;
}
$car = new Car;
$car->color = "red";
$ball = new Ball;
$ball->color = "blue";
// The color for the car and the ball are still red and blue after this.
$book = new Book;
$book->color = "green";
Однако я также хотел бы добавить, что вы, похоже, неправильно понимаете, как работает ООП в целом.Эти «классы» сами по себе не являются объектами, а являются объектами, как чертежи для дома.
Когда вы создаете класс, он просто выкладывает карту того, как будет выглядеть объект (или экземпляр) этого класса.
Когда вы вызываете new MyClass
, он на самом деле берет этот план для класса и создает на его основе новый объект.
Итак, в этом смысле, если у вас есть класс с именем Car
, вы можете создать несколько автомобилей.Каждый со своей скоростью, цветом и т. Д.
class Car {
public $speed;
public $color;
}
$corvette = new Car;
$corvette->speed = 500;
$corvette->color = 'red';
$civic = new Car;
$civic->speed = 20;
$civic->color = 'rust';
Каждый из этих автомобилей теперь существует независимо друг от друга, но они были созданы с использованием одного и того же класса (или, так сказать, плана).
Если вы пытаетесь создать класс с одинаковыми свойствами, чтобы вы могли создавать другие классы с такими свойствами, вы можете использовать наследование:
class Car {
public $speed;
}
class ColoredCar extends Car {
public $color;
}
$corvette = new ColoredCar;
$corvette->speed = 100;
$corvette->color = 'red';