Как сделать наследование классов? У меня есть класс A мне ещё нужен класс, который делает всё тоже самое, что и класс А, но берет данные из другой таблицы "table2". Наверное, лучше имя таблицы передавать в конструкторе и тогда второй класс не нужен, правильно? Но мне хотелось бы решить это с помощью создания класса наследника в котором изменить только table1 на table2. Как это сделать?
Да, вы абсолютно правы, что для создания класса-наследника с изменением имени таблицы можно использовать наследование. Вот как можно это сделать:
class A { public $c; public function __construct() { $query = "SELECT * FROM `table1`;"; //здесь код по раскладке данных из таблицы базы в переменные } public function f1() { //код return $r1; } } class B extends A { public function __construct() { $query = "SELECT * FROM `table2`;"; //здесь код по раскладке данных из таблицы базы в переменные } } $objA = new A(); $objB = new B();
В данном примере, класс B является классом-наследником от класса A и переопределяет конструктор, чтобы изменить запрос к таблице. Теперь вы можете создавать объекты как от класса A, так и от класса B, и они будут работать с соответствующими таблицами.
Да, вы абсолютно правы, что для создания класса-наследника с изменением имени таблицы можно использовать наследование. Вот как можно это сделать:
class A {public $c;
public function __construct() {
$query = "SELECT * FROM `table1`;";
//здесь код по раскладке данных из таблицы базы в переменные
}
public function f1() {
//код
return $r1;
}
}
class B extends A {
public function __construct() {
$query = "SELECT * FROM `table2`;";
//здесь код по раскладке данных из таблицы базы в переменные
}
}
$objA = new A();
$objB = new B();
В данном примере, класс B является классом-наследником от класса A и переопределяет конструктор, чтобы изменить запрос к таблице. Теперь вы можете создавать объекты как от класса A, так и от класса B, и они будут работать с соответствующими таблицами.