Форум → Программирование → PHP для идиотов → ООП в PHP5
ООП в PHP5
Страницы: ← Предыдущая страница • Следующая страница →
-
7 ноября 2010 г. 18:55, спустя 23 секунды
SpartakuS, про интерфейсы не очень давно р2д2 выразился великолепно, попробую сейчас найтиСапожник без сапог -
-
7 ноября 2010 г. 18:56, спустя 20 секунд
Mars, тебе, вот - http://pyha.ru/forum/topic/1648.msg28183#msg28183Сапожник без сапог -
7 ноября 2010 г. 18:57, спустя 1 минуту 2 секунды
Mars, http://phpforum.ru/index.php?s=fecca941a1e5d4caba4109af75f6bffa&showforum=129
Я вполне серьезно. Здравые статьи от ирбис хуем.
С помощью интерфейсов ты задаешь необходимый функционал. Вот твой пример./*interface Int1 {
function func1();
}
interface Int2 {
function func2();
}*/
class MyClass /* implements Int1, Int2*/ {
public function func1() {
echo 1;
}
public function func2() {
echo 2;
}
}
$obj = new MyClass;
$obj->func1(); // Выводит 1
$obj->func2(); // Выводит 2
угу. 12
А так?interface Int1 {
function method1();
}
interface Int2 {
function func2();
}
class MyClass /* implements Int1, Int2*/ {
public function func1() {
echo 1;
}
public function func2() {
echo 2;
}
}
$obj = new MyClass;
$obj->func1(); // Выводит 1
$obj->func2(); // Выводит 2
12 -
7 ноября 2010 г. 18:59, спустя 2 минуты 32 секунды
что такое поле? чем оно отличается от метода? если будет $obj->userGetter = function($id) { return DB::users->getById($id);};
можно и так, жопа в том, что для интерфейсного взаимодействия объектов нужно описывать публичные методы, и они должны быть реально методами. то есть можно в поле записать функцию (если язык позволяет), но нельзя в метод записать статическое значение. Потому что иначе не будет смысла в интерфейсах.Спустя 54 сек.красиво, спиздил или не поленился написать это?)
да хуле там писатьне всё полезно, что в swap полезло -
7 ноября 2010 г. 19:02, спустя 2 минуты 37 секунд
phpdude, ну найди.
Mars, блять. В интерфейсах ты указываешь какие методы и переменные должны быть в классах работающих с помощью этих интерфейсов.
То есть если у тебя есть интерфейс велосипед и в этом интерфейсе будут переменные педали, руль, колесо переднее, колесо заднее, то класс гоночный велик обязан будет содержать эти педали, руль и колеса. Однако если ты сделаешь класс супервелик под интерфейсом велосипед и твой велик будет без педалей, то это будет уже не велик и вылетит ошибка.Спустя 46 сек.Mars, бля имплементсы раскоменть.Спустя 105 сек.phpdude, огонь) Только это тимур, а не r2d2) -
7 ноября 2010 г. 19:03, спустя 1 минуту 27 секунд
не совсем хороший пример, паста заумная а код не полный, сделай мне полный пример интерфейса в коде пхп пожалуйста
а не буду. подумай лучше о том, почему компьютеры собирают из карточек, а не из транзисторов, и почему когда ты меняешь видеокарту на другую ты точно уверен что если она встала то заработает. это охуенный плюс от разработчиков кстати - интерфейсы PCI-E, PCI, AGP, USB и т.д.
Почему ебаные флешки всегда и везде работают куда ни воткни?не всё полезно, что в swap полезло -
7 ноября 2010 г. 19:06, спустя 2 минуты 57 секунд
можно и так, жопа в том, что для интерфейсного взаимодействия объектов нужно описывать публичные методы, и они должны быть реально методами. то есть можно в поле записать функцию (если язык позволяет), но нельзя в метод записать статическое значение. Потому что иначе не будет смысла в интерфейсах.
да я так, троллю :) очевидно что это пиздец а не код ))Сапожник без сапог -
7 ноября 2010 г. 19:07, спустя 55 секунд
Я так понял это ебаная модульная хуйня, для разработчиков всяких CMS? -
7 ноября 2010 г. 19:07, спустя 20 секунд
phpdude, смехуёчки в серьёзных темах?не всё полезно, что в swap полезло -
7 ноября 2010 г. 19:10, спустя 2 минуты 11 секунд
master, нашел. http://pyha.ru/forum/topic/1802.msg31309#msg31309Сапожник без сапог -
7 ноября 2010 г. 19:10, спустя 43 секунды
Mars, не только CMS, вообще скриптов
вот тебе задание. составь классы "бензиномобиль", "электромобиль", "бензозаправка"
сделай заправке метод
charge(объект_автомобиля)
сделай так, чтобы на заправку нельзя было отправить электромобильне всё полезно, что в swap полезло -
-
-
7 ноября 2010 г. 19:24, спустя 36 секунд
И так внимание, только прошу сразу не засирать:<?php
class бензиномобиль {}
class электромобиль {}
interface заправка_бензином
{
public function charge(SELF::бензиномобиль);
}
class бензозаправка implements заправка_бензином
{
public function charge($object)
{
echo 'заправился на отличненько';
}
}
$машина = new бензиномобиль;
$электромашина = new электромобиль;
бензозаправка::charge($машина);
бензозаправка::charge($электромашина);
выдаёт непонятную ошибку: Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting '&' or T_VARIABLE in /home/mars/mtd/htdocs/oop.php on line 7
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!