Php 从父对象继承属性
全部, 如果我有这样一门课:Php 从父对象继承属性,php,oop,inheritance,abstract-class,Php,Oop,Inheritance,Abstract Class,全部, 如果我有这样一门课: class MyClass { var $height; var $width; function setDimensions($height,$width) { $this->height = $height; $this->width = $width; } } 还有一门课,像这样 class AnotherClass extends MyClass { var
class MyClass {
var $height;
var $width;
function setDimensions($height,$width) {
$this->height = $height;
$this->width = $width;
}
}
还有一门课,像这样
class AnotherClass extends MyClass {
var $color;
var $speed;
function setFeatures($color,$speed) {
$this->color = $color;
$this->speed = $speed;
}
function showAll() {
echo "Color: ".$this->color."<br />";
echo "Speed: ".$this->speed."<br />";
echo "Height: ".$this->height."<br />";
echo "Width: ".$this->width."<br />";
// echo "Height: ".parent::height."<br />";
}
}
它不打印$firstClass中定义的属性。这是可以理解的,因为它们是两个独立的实例/对象。如何将属性从一个对象传递到另一个对象?我是否需要执行类似于$secondClass=new AnotherClass($firstClass)
的操作,并以这种方式传递它
提前感谢您,感谢您的帮助。因为它们是不同的实例 在本例中,有一个实例同时是另一个类和MyClass
$firstClass = new AnotherClass();
$firstClass->setDimensions('200cm', '120cm');
$firstClass->setFeatures('red','100mph');
$firstClass->showAll();
这些类都不是抽象的
在您的示例中,以下语句是正确的:
- $secondClass是另一个类
- $secondClass是MyClass
- $firstClass是MyClass
- $firstClass不是另一个类
var
定义类属性
使用private
、public
或protected
:
class MyClass {
public $height;
public $width;
这就是诀窍。这是一个抽象类的例子吗?也许值得一提的是什么是
private
protected
和public
。我会投你一票的@Darius不,这不是抽象类的例子,这只是继承。
class MyClass {
public $height;
public $width;