我是oop php的新手,我只是想知道您是否可以在多个类中使用相同的属性。例如:
var sale_product = "";
sale_product = outputData.sale_price;
if (sale_product !== "") {
$("#Editsale").prop("checked", true);
$("#EditsalePrice").show();
modal.find("input#Editsale_price").val(outputData.sale_price);
} else if (sale_product == "") {
$("#Editsale").prop("checked", false);
$("#EditsalePrice").hide();
}
我是否可以使用该代码使用第二类(支票)中第一类(银行)或第三类(保存)中的所有公共属性?
答案 0 :(得分:1)
如果您在其他类中再次定义它们,那么从技术上讲可以。但是它们是单独的对象,因此它们将不会存储相同的值。
就像拥有汽车,球和书。它们都具有“颜色”属性,但是每个值都不相同,更改其中任何一个都不会影响其他值。
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";
但是,我还要补充一点,您似乎对OOP的总体工作方式有误解。这些“类”本身不是对象,而是对象对房屋而言是什么蓝图。
创建类时,它只是列出该类的对象(或实例)的外观图。
调用new MyClass
时,实际上会将该类用作该蓝图,并根据该蓝图创建一个新对象。
因此,从这个意义上讲,如果您有一个名为Car
的类,则可以创建多个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(或可以说是蓝图)创建的。
如果您要尝试创建一个共享相同属性的类,以便可以创建具有这些属性的其他类,则可以使用继承:
class Car {
public $speed;
}
class ColoredCar extends Car {
public $color;
}
$corvette = new ColoredCar;
$corvette->speed = 100;
$corvette->color = 'red';
答案 1 :(得分:1)
您必须使用oop继承。 您可以在其他类别中扩展一个类别并使用其功能。例如。
class save extends check {}