|
|
|
| вообще не понятна область их применения.
Надоели ответы в роде:
абстрактные классы призваны улучшить читабельность программы.
из абстрактных классов нельзя создавать объект.
и т.д.
Это все конечно очень мило, но конкретно где применяются абстрактные классы и интерфейсы?
Может у кого-то есть хороший пример или какая нибуть информация?
спасибо | |
|
|
|
|
|
|
|
для: Sergi
(04.08.2008 в 02:07)
| | Абстрактные классы и интерфейсы не несут какой-либо функционал. Они предназначены для описания других классов, которые могут быть созданы на основе абстрактного класса или интерфейса.
Реальный пример: Ваш скрипт устроен так, то все запросы к базе данных проходят через класс-оболочку для совместимости с разными СУБД и/или для создания системы кеширования. Можно сначала создать абстрактный класс или интерфейс типа
<?php
interface idb
{
/* Выполнение SQL-запроса */
public function query($query);
/* Закрытие соединения с СУБД */
public function close();
}
# ...
class db implements idb
{
private $conn_id;
public function query($query)
{
# ...
mysql_query($query, $this->conn_id);
# ...
}
public function close()
{
# ...
if( $this->conn_id )
{
return mysql_close($this->conn_id);
}
# ...
}
}
?>
|
чтобы можно было всё описать в интерфейсе и облегчить работу другому программисту по созданию нового класса-оболчки для MS SQL, например. | |
|
|
|