PHP可以在不同的类中使用相同的属性吗
我是oop php的新手,我只是想知道是否可以在多个类中使用相同的属性。例如:PHP可以在不同的类中使用相同的属性吗,php,class,oop,properties,Php,Class,Oop,Properties,我是oop php的新手,我只是想知道是否可以在多个类中使用相同的属性。例如: <?php class bank { public $holders_firstName = "Aadil"; public $holders_lastName = "Hafesji"; public $holders_currentNumber = 456789111; public $holders_aaCode = "20-55-66
<?php
class bank {
public $holders_firstName = "Aadil";
public $holders_lastName = "Hafesji";
public $holders_currentNumber = 456789111;
public $holders_aaCode = "20-55-66";
public $holders_b = "£8";
}
class check {
$obj = new check;
echo $obj->holders_firstName;
}
class save {
//
}
?>
我是否可以使用该代码使用第二类(支票)甚至第三类(保存)中第一类(银行)中的所有公共属性?如果您在其他类中再次定义它们,那么从技术上讲,您可以。但它们是独立的对象,因此不会存储相同的值 这就像有一辆车,一个球和一本书。它们都具有属性“color”,但每个属性的值都不同,更改其中任何一个都不会影响其他属性
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的工作原理有一个误解。这些“类”本身不是对象,而是对象,就像蓝图是房子 当您创建一个类时,它只是展示了这个类的对象(或实例)的样子 当您调用
newmyclass
时,它将实际获取该类的蓝图,并基于该蓝图创建一个新对象
因此,从这个意义上讲,如果您有一个名为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';
这些汽车中的每一辆现在都是独立存在的,但它们是使用同一个类(或者说是blueprint)创建的
如果您试图创建一个共享相同属性的类,以便可以创建具有这些属性的其他类,则可以使用继承:
class Car {
public $speed;
}
class ColoredCar extends Car {
public $color;
}
$corvette = new ColoredCar;
$corvette->speed = 100;
$corvette->color = 'red';
如果您在其他类中再次定义它们,那么从技术上讲,您可以这样做。但它们是独立的对象,因此不会存储相同的值 这就像有一辆车,一个球和一本书。它们都具有属性“color”,但每个属性的值都不同,更改其中任何一个都不会影响其他属性
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的工作原理有一个误解。这些“类”本身不是对象,而是对象,就像蓝图是房子 当您创建一个类时,它只是展示了这个类的对象(或实例)的样子 当您调用
newmyclass
时,它将实际获取该类的蓝图,并基于该蓝图创建一个新对象
因此,从这个意义上讲,如果您有一个名为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';
这些汽车中的每一辆现在都是独立存在的,但它们是使用同一个类(或者说是blueprint)创建的
如果您试图创建一个共享相同属性的类,以便可以创建具有这些属性的其他类,则可以使用继承:
class Car {
public $speed;
}
class ColoredCar extends Car {
public $color;
}
$corvette = new ColoredCar;
$corvette->speed = 100;
$corvette->color = 'red';
您必须使用oop继承。 您可以在另一个类中扩展一个类并使用其功能性。例如
class save extends check {}
您必须使用oop继承。 您可以在另一个类中扩展一个类并使用其功能性。例如
class save extends check {}
有一个例子,但我不确定OP在问什么——有一个例子,但我不确定OP在问什么-