Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 25
1

Общие методы для классов

02.01.2018, 14:05. Показов 1153. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток и с наступившим!
Есть несколько классов, в которых есть две функции (одинаковый код для всех классов). Можно как-то сделать общий класс только для двух этих функций, чтобы они работали во всех классах и править код только в одном месте, а не копипастить по всем классам?
PS. В коде этих функций есть вызов методов класса, в котором эти функции лежат.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2018, 14:05
Ответы с готовыми решениями:

Кто знает хороший IDE для ПХП чтобы можно было видеть и вставлять методы и переменные созданых классов?
Всем привет. Кто знает хороший IDE для ПХП чтобы можно было видеть и вставлять методы и...

Создать суперкласс и определить общие методы для данного класса
Доброго времени суток! Есть задание: В следующих заданиях требуется создать суперкласс...

Создать список, содержащий элементы общие для двух списков, с помошью классов
разработать алгоритм программы решения задачи создания списка содержащего элементы общие для двух...

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов)
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как...

4
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
02.01.2018, 14:21 2
trait
1
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 25
02.01.2018, 14:28  [ТС] 3
Цитата Сообщение от otto-fukin Посмотреть сообщение
trait
А можно пример использования трейтов, и самое главное как правильно вызывать трейт из кода другого класса, и как будет работать $this в каждом классе?
0
2 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
02.01.2018, 15:52 4
Цитата Сообщение от Jenstel Посмотреть сообщение
самое главное как правильно вызывать трейт из кода другого класса
прописав
PHP
1
use имя трейта
и использовать как остальные методы.
Цитата Сообщение от Jenstel Посмотреть сообщение
и как будет работать $this в каждом классе?
Тут все зависит от архитектуры. примеров куча, хотите увидеть как будет выглядить именно у Вас - пробуйте
0
14 / 60 / 21
Регистрация: 15.06.2017
Сообщений: 572
02.01.2018, 17:32 5
Лучший ответ Сообщение было отмечено Jenstel как решение

Решение

Цитата Сообщение от Jenstel Посмотреть сообщение
и как будет работать $this в каждом классе?
с объектом конкретного класса
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
trait Common {
 
    public function foo() {
        echo $this->field;
    }
 
}
 
class Base {
 
    use Common;
 
    protected $field = '<br>Class : Base<br>';
 
}
 
class Next extends Base {
 
    public function __construct() {
        $this->field = '<br>Class : Next<br>';
    }
 
}
 
$b = new Base;
        $n = new Next;
        $b->foo();
        $n->foo();
1
02.01.2018, 17:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.01.2018, 17:32
Помогаю со студенческими работами здесь

Создайте иерархию классов и пропишите ключевые методы для компьютерной игры
Наследование и полиморфизм 4)Создайте иерархию классов и пропишите ключевые методы для...

Классы, в них предусмотреть различные члены классов и методы для работы
Базовый класс – учащийся. Производные – школьник и студент. Создать класс Конференция, который...

Классы, методы классов, методы экземпляров
Добрый день. Никак не могу разобраться в методах классов и объектов. 1) Зачем нам нужны методы...

Классы: окружность и трапеция. Для добавленных классов описать методы вычисления площади и периметра
Получить результаты по приведенным примерам. Добавить во втором примере классы: окружность (circle)...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru