public function charge(SELF::бензиномобиль);
Форум → Программирование → PHP для идиотов → ООП в PHP5
ООП в PHP5
Страницы: ← Предыдущая страница • Следующая страница →
-
7 ноября 2010 г. 19:28, спустя 3 минуты 50 секунд
Сапожник без сапог -
7 ноября 2010 г. 19:31, спустя 3 минуты 8 секунд
public function charge(SELF::бензиномобиль);
а как правильно? -
7 ноября 2010 г. 19:32, спустя 49 секунд
Mars, возьми пример с HDD и отталкивайся от негоне всё полезно, что в swap полезло -
7 ноября 2010 г. 19:41, спустя 8 минут 35 секунд
<?php
class бензиномобиль implements заправка_бензином {}
class электромобиль {}
interface заправка_бензином {}
class бензозаправка
{
public function charge(заправка_бензином $object)
{
echo 'заправился на отличненько<br>'; return true;
}
}
function заправить_машину($car)
{
if (@бензозаправка::charge($car)) echo 'иди нахуй!<br>';
}
$машина = new бензиномобиль;
$электромашина = new электромобиль;
заправить_машину($машина);
заправить_машину($электромашина); -
7 ноября 2010 г. 19:57, спустя 16 минут 44 секунды
вернее так<?php
class бензиномобиль implements заправка_бензином {}
class электромобиль {}
interface заправка_бензином {}
class бензозаправка
{
public function charge(заправка_бензином $object, $id)
{
echo "$id заправился на отличненько<br>"; return true;
}
}
$машина = new бензиномобиль;
$электромашина = new электромобиль;
бензозаправка::charge($машина, 1);
бензозаправка::charge($машина, 2);
бензозаправка::charge($электромашина, 3);
бензозаправка::charge($машина, 4);Спустя 209 сек.Почему свои псто нельзя редактировать? говно движок форума -
7 ноября 2010 г. 19:59, спустя 1 минуту 55 секунд
Почему свои псто нельзя редактировать? говно движок форума
просто у тебя говноправа на форуме. -
7 ноября 2010 г. 20:04, спустя 4 минуты 51 секунду
А как правильно отловить ошибку?
Catchable fatal error: Argument 1 passed to бензозаправка::charge() must implement interface заправка_бензином, instance of электромобиль given -
7 ноября 2010 г. 20:11, спустя 7 минут 20 секунд
туплю, сделал вот так<?php
class бензиномобиль implements заправка_бензином {}
class электромобиль {}
interface заправка_бензином {}
class бензозаправка
{
public function charge($object, $id)
{
echo ($object instanceof заправка_бензином) ? "$id заправился на отличненько<br>" : "$id fail<br>";
}
}
$машина = new бензиномобиль;
$электромашина = new электромобиль;
бензозаправка::charge($машина, 1);
бензозаправка::charge($машина, 2);
бензозаправка::charge($электромашина, 3);
бензозаправка::charge($машина, 4); -
7 ноября 2010 г. 20:14, спустя 2 минуты 34 секунды
Так и должно быть, нельзя заправлять электромобиль на бензозаправке
А как правильно отловить ошибку?
Catchable fatal error: Argument 1 passed to бензозаправка::charge() must implement interface заправка_бензином, instance of электромобиль given
зы английский ты тоже также учишь как и пхп? =)Work, buy, consume, die -
7 ноября 2010 г. 20:24, спустя 9 минут 33 секунды
Mars,<?php
interface заправка_бензином {}
interface заправка_электричеством {}
class бензиномобиль implements заправка_бензином {}
class электромобиль implements заправка_электричеством {}
class бензозаправка
{
public function charge(заправка_бензином $object)
{
echo "заправился на отличненько"
}
}
$машина = new бензиномобиль;
$электромашина = new электромобиль;
бензозаправка::charge($машина);
бензозаправка::charge($электромашина);не всё полезно, что в swap полезло -
8 ноября 2010 г. 13:34, спустя 17 часов 10 минут 47 секунд
Щас рыба прийдет, на определениях всех победит))
а вот и нет. Я в этой ООПшной теории не силен. Ну, что такое полиморфизм я вам не расскажу.
зы: профи, тут недавно на собеседовании у товарища был вопрос - чем класс от объекта отличается? -
8 ноября 2010 г. 13:38, спустя 3 минуты 23 секунды
чем?Спустя 17 сек.зы: я не профиСпустя 20 сек.зы: и вообще не хочу я быть программистомСпустя 28 сек.я хочу спатьСпустя 16 сек.сплю -
8 ноября 2010 г. 13:59, спустя 20 минут 54 секунды
Полиморфизм, это свойство ООП, которое позволяет адресовать методы у объектов тип которых точно не известено, но известна информация об интерфейсе или абстрактном классе как типе предка объекта (это что касаем PHP):$polymorf = $this->getDb()
$polymorf->select(); //известно что AbstractDB имеет абстрактный метод select() и все, а какого конкретно типа переменная $polymorf - MysqlDb или PgsqlDb не важно и не известно в этой точке, да и с полиморфизмом не требуется знать…
Класс или тип - это описание сущьности, объект - это структура в памяти ;) -
8 ноября 2010 г. 14:03, спустя 4 минуты 36 секунд
тут недавно на собеседовании у товарища был вопрос - чем класс от объекта отличается?
ты это с подьебом спрашиваешь или ты действительно не знаешь разницы ? -
8 ноября 2010 г. 14:06, спустя 2 минуты 54 секунды
ну блин, так получилось, что я работаю не зная основополагающих принципов
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!