У меня есть базовый класс (БД), который наследуется многими другими классами.
Проблема в том, что я не хочу наследовать методы класса БД.
Но я хочу, чтобы они были общедоступны для пользователя.
Я поставил им ключевое слово 'final', но только оно не позволяет детям перезаписывать методы.
<?php
/*
* DB class for MySQL server
*/
abstract class DB {
protected static $return = 'fetch_assoc';
protected static $db = null;
protected static $table_prefix;
protected static $return_type = array(
'fetch_lazy' => 1,
'fetch_assoc' => 2,
'fetch_num' => 3,
'fetch_both' => 4,
'fetch_obj' => 5,
'fetch_bound' => 6,
'fetch_column' => 7,
'fetch_class' => 8,
'fetch_into' => 9,
'fetch_func' => 10,
'fetch_named' => 11
);
final static function connect (string $db_key) {
...
}
final static function beginTransaction () {
...
}
final static function rollback () {
...
}
final static function commit () {
...
}
final static function close () {
...
}
}
Итак. Я хочу, чтобы дети могли видеть переменные БД, но я хочу, чтобы мои методы мог использовать только пользователь.
Как сделать мои методы не наследуемыми, потому что я не хочу, чтобы дети их видели?