Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
-26 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
1

Можно ли упростить вывод полей обьекта?

07.02.2017, 18:07. Показов 1166. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Эсть два обьекта которые имеют поля :имя,возраст.
Можно ли использоать какой то компактный способ--вместо написания 4 строк echo?

для вывода этих полей 2 обьектов нужно прописать 4 строчки
PHP
1
2
3
4
5
6
7
8
 
echo $human1->age;
 
echo $human1->name."<br>";
 
echo $human2->age;
 
echo $human2->name;






полный код
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
29
30
31
32
33
34
35
36
37
38
<?php
 
class Human{
 
public $age;
public $name;
 
 
 
  public  function __construct($age,$name){
 
     $this->age=$age;
     $this->name=$name;
        
    }
 
 
 
 
 }
 
 
 
 
 
 
 
  $human1=new Human(20,"Viktor");
    $human2=new Human(25,"Alexey");
 
  echo $human1->age;
 
echo $human1->name."<br>";
 
echo $human2->age;
 
echo $human2->name;
?>
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2017, 18:07
Ответы с готовыми решениями:

вывод обьекта
Здравствуйте. Вот такой вопрос, у метода Concole.Writeline есть такая перегрузка WriteLine(String,...

Вывод в DataGridView полей некоторого экземпляра класса, в котором одно из полей является списком List
Здравствуйте, помогите плиз!!! Возникла потребность вывода в DataGridView полей некоторого...

Вывод обьекта List<Port>()
недавно помогли с проблемой(https://www.cyberforum.ru/csharp-net/thread1389129.html#post7308453) ...

Исключительный доступ обьекта к полям другого обьекта avr/c++
исключительный доступ обьекта к полям другого обьекта avr/c++ добрый день есть два обьекта...

8
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.02.2017, 18:23 2
Лучший ответ Сообщение было отмечено TVPNERO как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Human
{
    private $age;
    private $name;
 
    public function __construct($age, $name)
    {
        $this->age = $age;
        $this->name = $name;
    }
 
    public function __toString()
    {
        return $this->age . ' ' . $this->name;
    }
}
 
$human = new Human(20, 'Viktor');
echo $human.'<br>';
1
-26 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
07.02.2017, 19:46  [ТС] 3
Сейчас с телефона сижу,поєтому не могу проверить ответ.
Но я пробовал тоже просто ставить
echo $human но у меня не было функции
__to String и у меня выдавало ошибку при попытке вывода---"объект не может быть сконвертирован в строку"(недрсловный перевод конечно)

Можете прокомментировать что это за функция __to String,и каким образом вам удалось избежать ошибки "объект нельзя сковертировать в строку" ?

Добавлено через 51 секунду
Dolphin, прокоментируйте пожалуйста.
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
07.02.2017, 19:47 4
Неясно, что требуется. Может занесение в массив решит проблему?
PHP
1
2
3
4
5
6
7
8
9
$humans = [
    new Human(20, "Viktor"),
    new Human(25, "Alexey")
];
 
foreach ($humans as $human) {
    echo $human1->age;
    echo $human1->name."<br>";
}
0
-26 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
07.02.2017, 19:56  [ТС] 5
Para bellum, требуется уменьшить количество строк с есho,сделать код вывода компактный вместо этого

Можно ли использоать какой то компактный способ--вместо написания 4 строк echo?

для вывода этих полей 2 обьектов нужно прописать 4 строчки









PHP
1
2
3
4
5
6
7
echo $human1->age;
 
echo $human1->name."<br>";
 
echo $human2->age;
 
echo $human2->name;
0
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
07.02.2017, 19:58 6
http://php.net/manual/ru/langu... t.tostring
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
07.02.2017, 20:52 7
Цитата Сообщение от TVPNERO Посмотреть сообщение
требуется уменьшить количество строк с есho
Ну так сделайте 1 раз echo
PHP
1
echo $human1->age.$human1->name."<br>".$human2->age.$human2->name;
Добавлено через 22 секунды

Не по теме:

Есть подозрения, что автор дудосит раздел PHP ООП...

0
-26 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,154
07.02.2017, 22:53  [ТС] 8
pav1uxa, хорош вариант с одной стороны.
но я наверное,не точно высказался чем меньше кода тем лучше.не только строки но и их содержание.То есть чтоб поменьше кода было при выводе полей обьекта.

Этоя просто ООП стал повторять. полгода с пхп не работал вплотную.
А теперь хочу наверстать упущеное и вспомнить то что уже изучал.

Добавлено через 23 минуты
Dolphin, Благодарю за помощь.Очень хороший способ.
0
Эксперт PHP
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
07.02.2017, 23:17 9
Вместо конкатенации (точки) в данном случае лучше оператор запятая.
PHP
1
echo $human1->age, $human1->name;
1
07.02.2017, 23:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2017, 23:17
Помогаю со студенческими работами здесь

Можно ли из конструктора выводить имя создаваемого в нем обьекта?
Например, в такой программе. #include &lt;string&gt; #include &lt;iostream&gt; // для объекта cout using...

C# скрипт получения координат обьекта в X,Y,Z и вывод на экран
Добрый вечер, жуткий чайник в программировании, кто может написать скрипт вывода текущих координат...

С помощью чего можно создать метод для поиска обьекта в Листе консольного приложения
Подскажите с помощью чего можно создать метод для поиска обьекта в Листе консольного приложения?...

Можно ли упростить?
(a&amp;-b&amp;c)or(a&amp;b&amp;-c) только начал изучение мат логики в общем проблем нет , но не могу упростить...


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

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