[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Class и работа с ними
Kusss
Изучаю ООП . И после прочтения статьей по основам появились вопросы практического применения. буду тут их задавать.

Встретил вот такой пример, и возник вопрос.
Где производить действие(fread и fwrite), в интерфейсе или классе ?
  interface FileInterface {
public function readFromFile($path);
public function writeToFile($path, $some);
}

class File_ implements FileInterface{
public function readFromFile($path) {
echo "Считываем из файла и возвращаем строку<br />";
}
public function writeToFile($path, $some) {
echo "Записываем в файл данные $some<br />";
}
}

Dezigo
Цитата
Где производить действие(fread и fwrite), в интерфейсе или классе ?

Вы не понимаете что такое интерфейс, так как в интерфейсе невозможно производить действие.

Действия только в классе.
Kusss
спасибо
Dezigo
Если хотите иметь общую реализацию и описание класса, используйте абстрактный класс.
Выложите пример тога мы сможем более подробно подсказать Вам, стоит ли или нет.
AllesKlar
Kusss
Простыми словами - интерфейс это как оглавление в книге.
В этом оглавлении нет ничего, кроме перечисления глав (методов), а уже в самой книге (класс) идет описание (имплементация) главы (метода)

Основное применение интерфейса - это груповая разработка проекта.
Например, я архитектор, ты кодер.
Я тебе даю интерфейсы классов, которые ты должен мне разработать.
В классическом понимании интерфейса в нем указаны имена методов, список параметров, которые метод должен принять и тип возвращаемого результата.
В php нет строгой типизации, поэтому, мы не можем говориь о типах возвращаемых даннх, например.
Но суть в том, что мне нужно чтобы в метод были переданны конкретные параметры, и он вернул мне конкрентый результат.

А как ты это будешь реализовывать, меня уже не волнует - это твоя свобода действий.

_____________
[продано копирайтерам]
Kusss
Вот изучаю всё это. Наследование классов, абстрактные классы . Какие модификаторы использовать.
AllesKlar
Спасибо за такое описание - очень доступно.

Может подкинете ссылки для прочтения ?
Сейчас изучаю это с 26 пункта.
Есть опыт "программирования", но это так называемая "каша". И так дальше нельзя. Да и трудно порой править код, который писался скажем пол года назад.
В моём проекте сейчас 60+ файлов, а в другом ещё 100. классов нет, функций много.
Попробую это всё переписать по нормальному.
chee
О боже, какая замечательная документация http://www.php.net/manual/ru/language.oop5.interfaces.php

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.