Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP可以在不同的类中使用相同的属性吗_Php_Class_Oop_Properties - Fatal编程技术网

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

我是oop php的新手,我只是想知道是否可以在多个类中使用相同的属性。例如:

<?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在问什么-