Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115

Самописная функция и класс

20.10.2012, 16:36. Показов 1844. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код написанный процедурным стилем. Есть самописные функции. Теперь о самом страшном для меня...об ООП
Допустим, есть класс. Как туда мне запихнуть(другого слова не могу подобрать) свою самописную функцию(функции)? Я так понимаю мне нужно ее тоже определить в другой класс?
Подскажите пожалуйста, как это сделать? Я так понимаю через наследование(extends) можно или как-то еще?

Добавлено через 20 часов 37 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      class Square
    {
        function square($a)
        {
            $b=$a*$a;
            return $b;
        }
    }
    
    class My_Class 
    {   
        static function World($f) 
        { 
           $result = $f+10;
          return $result;
        } 
    }
Вот как здесь в My_Class $result перемножить на результат от функции square($a)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.10.2012, 16:36
Ответы с готовыми решениями:

Самописная функция преобразования строки в число
Добрый день, товарищи Javer'ы! Получено задание реализовать собственный метод для преобразования строки (String) в число (int...

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Write программу с использованием класса Вектор (не без помощи форумчанина), но необходимо создать производный класс, в котором реализована...

Конвертация 7.7. Самописная в 8.2 ЖКХ
Добрый вечер столкнулся с таким интересным вопросом, как конвертация. Уже пробовал разными способами не получается, в общем смысл такой,...

6
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
20.10.2012, 16:46
посмотрите здесь

Добавлено через 3 минуты
при таком коде как вы написали то к функции square нужно обращаться через екземпляр класса
PHP
1
2
3
$obj = new Square();
$result_square = $obj->square($a);
$result_total = $result * $result_square;
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
20.10.2012, 16:49
Цитата Сообщение от izcian Посмотреть сообщение
PHP
1
2
3
4
5
6
7
      class Square
    {
        function square($a)
        {
            $b=$a*$a;
            return $b;
        }
Это ж конструктор. В старом стиле, но всё еще конструктор. Какой еще return? Какой еще $this->square()?
Надо переименовать этот метод.
0
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
20.10.2012, 17:58  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Это ж конструктор. В старом стиле, но всё еще конструктор. Какой еще return? Какой еще $this->square()?
Надо переименовать этот метод.
это не конструктор, я просто обозвал так....Хотел как проще))
Может я не точно поставил вопрос. Попробую в процедурном стиле.
PHP
1
2
3
4
5
6
7
8
9
10
11
 function square($a)
        {
            $b=$a*$a;
            return $b;
        }
 
function World($f,$a) 
        { 
           $result = ($f+10)*square($a) ;
           return $result;
        }
Как это можно сделать в ООП? Функция square метод одного класса, а World метод другого класса
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
20.10.2012, 18:02
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
class A {
    static function square($a) {
        return $a * $a;
    }
}
 
class B {
    static function World($f, $a) {
        return ($f + 10) * A::square($a);
    }
}
 
echo B::World(42, 37);
1
2 / 2 / 0
Регистрация: 28.08.2012
Сообщений: 115
20.10.2012, 18:59  [ТС]
Vovan-VE спасибо большое, то что нужно было! Пойду дальше штудировать это страшное ооп))
0
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 10
04.12.2012, 09:42
Вы же не наследовали сlass B

Добавлено через 12 часов 5 минут
ya govoril pro pervogo primera
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2012, 09:42
Помогаю со студенческими работами здесь

Самописная сериализация List<>
Пишу свой сериализатор. Дохожу до свойства List&lt;ClassName&gt;. Как мне узнать что это именно List&lt;&gt; ? private void...

Самописная Extract strings
Вызывает завершение работы программы следующий проблематичный для мну код. char *Cheb21::ExtractString(int pos1,int pos2,char buff) ...

Самописная SMPP библиотека
Есть спецификация по данному протоколу, а как использовать все эти bind_transmitter , bind_tranceiver и т.д. для написания собственной...

Самописная конфигурация. Преобразование переменной
Здравствуйте. У меня в конфиграции имеется документ СчетФактураПродажа. В нем табличная часть с полем НалоговаяСтавка Тип - число. ...

Самописная конфигурация. Печать С/Ф (создана конструктором).
Помогите, пожалуйста, с форматированием макета документа. В документе ПокупкаСчетФактура, в табличной части, автоматически вводятся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru