Как это сделать? В домашнем задании по ООП, в теме "Наследование" предлагается создать класс "Программист", а в свойства добавить массив языков программирования, которые знает данный объект. С обычными типами (числа, текст) проблем вообще не возникает. А вот массив не получается передать свойству. Подскажите решение.
Ты знаешь как создать массив ? PHP: // Наверно вот так да $newArray = array(); // Или вот так $newArray = []; А теперь если у тебя свойства объектов создаются например вот так да Class Clas { public $newArray = // И что тут нужно написать чтобы массив сделать ? // Допустим справились. А теперь нам его же блин нужно блин какими - то значениями забить да? public function methodNewArray ($Arr) { // А теперь загугли как правильно вызываются свойства класса в самом классе или дочерних классах этого класса Тут_Твоё_Свойство_Класса = $Arr // Где $Arr = Это массив который ты передаёшь в метод класса // Вот и вся твоя задача. } // А если вдруг тебе нужно забивать массив постепенно например с каждым вызовом метода ты добавляешь один элемент массива... // То тут тоже нет не чего страшного public function methodOne ($key, $value) { Опять_Же_Вызов_Твоего_Свойства->$newArray[$key] = $value; // Ну вот и тоже всё :) Элементарно не правда ли?) } // Опа надо его вернуть массив О_О public function methodTwo () { return Твоё_Свойство; // Где твоё свойство заменишь на правильнчй вызов твоего свойства в который ты ложишь массив } }
В общем-то получилось Вот пример с методом добавления языка в массив. Спасибо за внимание. Код (Text): class Programmist { public $lang; public $opyt; public function __construct ($lang, $opyt) { $this->lang = $lang; $this->opyt = $opyt; } public function getLang () { return $this->lang; } public function setLang ($lang) { $this->lang = $lang; [QUOTE="askanim, post: 473771, member: 60045"]Ты знаешь как создать массив ? [php]// Наверно вот так да $newArray = array(); // Или вот так $newArray = []; А теперь если у тебя свойства объектов создаются например вот так да Class Clas { public $newArray = // И что тут нужно написать чтобы массив сделать ? // Допустим справились. А теперь нам его же блин нужно блин какими - то значениями забить да? public function methodNewArray ($Arr) { // А теперь загугли как правильно вызываются свойства класса в самом классе или дочерних классах этого класса Тут_Твоё_Свойство_Класса = $Arr // Где $Arr = Это массив который ты передаёшь в метод класса // Вот и вся твоя задача. } // А если вдруг тебе нужно забивать массив постепенно например с каждым вызовом метода ты добавляешь один элемент массива... // То тут тоже нет не чего страшного public function methodOne ($key, $value) { Опять_Же_Вызов_Твоего_Свойства->$newArray[$key] = $value; // Ну вот и тоже всё :) Элементарно не правда ли?) } // Опа надо его вернуть массив О_О public function methodTwo () { return Твоё_Свойство; // Где твоё свойство заменишь на правильнчй вызов твоего свойства в который ты ложишь массив } }[/php][/QUOTE] } } $programmist = new Programmist (array("php", "javascript"), 3); echo $programmist->getLang()[0]."<br />"; $programmist->setLang(array("php2", "javascript2", "c++")); echo $programmist->getLang()[2]."<br />"; Интересно. Задача была немного проще, но ваш метод обязательно разберу Спасибо. Очень полезно.
Да пожалуйста) Обращайся.) А вообще оформляй пожалуйста сообщения правильно. А то читать не очень как то так. в сером цвете всё. Это же не текст Это код) И привыкни создавать массив в php вот так PHP: $array = []; Очень удобно, честно
Ну, если работать на хостинге с PHP <= 5.3, то так не прокатит. Я сейчас поддерживаю один сайт, там вообще смех и слезы, РНР 4.4
Да нафиг надо, там и 4.4. вполне хватает. Раньше-то это вообще голый html был, код там только с моим приходом появился.