Форум → Программирование → PHP для идиотов → определение класса потомка в родителе
определение класса потомка в родителе
Страницы: ← Предыдущая страница →
-
27 июня 2010 г. 12:45, спустя 13 минут 40 секунд
master,
у меня не заработало то что пытался сделать, что приводить то
есть общие методы - для родителя
есть кастомные - для потомков -
27 июня 2010 г. 12:53, спустя 7 минут 28 секунд
Faster, блять, Фастер, это простое наследование.class Read {
protected $page = 1;
public function nextPage () {
$this->page ++;
}
}
Class ReadBook {
public function __construct () {
//открываем книгу
}
}
Class ReadFastersPyhaTopic {
public function __construct () {
//открываем этот топик
}
}
$book = new ReadBook;
$book->nextPage();
$pyha = new ReadFastersPyhaTopic;
$pyha->nextPage();
$pyha->nextPage(); -
27 июня 2010 г. 12:53, спустя 31 секунду
ну так и делай инстансы потомков, в них будут доступны public и protected методы родителей.у меня не заработало то что пытался сделать, что приводить то
программирование строится так:
в начале пишешь использование
$xx = new abc;
$xx->foo();
потом реализуешь классы
class abc {
}
в зависимости от основного хода программы реализуешь классы так или иначе. реализация в общем случае дело десятоене всё полезно, что в swap полезло -
27 июня 2010 г. 12:59, спустя 5 минут 52 секунды
есть общие методы - для родителя
есть кастомные - для потомков
ДА!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ну так и делай
abstract class Remote {
protected $url
public function __construct($url)
{
$this->url = $url;
}
protected function esc($html)
{
return htmlspecialchars($html);
}
public function __toString()
{
throw new exception('please override this __toString function in child objects');
}
}
class RemoteJS extends Remote {
public function __toString()
{
return "<script src=\"".$this->esc($this->url)."\" type=\"textjavascript\"></script>";
}
}
class RemoteCSS extends Remote {
public function __toString()
{
return "<link href=\"".$this->esc($this->url)."\" rel=\"stylesheet\" type=\"text/css\"/>";
}
}
$js = new RemoteJS("http://jquery.com/jq.js");
$css = new RemoteCSS("http://lol.to/lol.css");
…
<?= $js?>
<?=$css?>Спустя 72 сек.неудобно в форме ответа код писать :(
форматировщика нет :(Сапожник без сапог
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!