PHP Можно ли использовать одно и то же свойство в разных классах? - PullRequest
0 голосов
/ 30 марта 2019

Я довольно новичок в 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 {
        //
    }
?>

Могу ли я использовать все те открытые свойства, которые находятся в первом классе (банке) во втором классе (чек) или даже в третьем классе (сохранить) с использованием этого кода?

Ответы [ 2 ]

1 голос
/ 30 марта 2019

вы должны использовать oop наследование.Вы можете расширить один класс внутри другого и использовать его функциональность.например.

class save extends check {}
1 голос
/ 30 марта 2019

Если вы определите их снова в других классах, то технически да, вы могли бы.Но они являются отдельными объектами, поэтому они не будут хранить одинаковые значения.

Это как машина, мяч и книга.Все они имеют свойство «цвет», но значения различны для каждого, и изменение любого из них не повлияет на остальные.

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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...