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

Архитектура приложения "Кукольный театр" (ООП)

03.11.2019, 08:06. Показов 1365. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Не могли бы вы мне помочь исправить мои ошибкиБпосмотреть код и сказать в чем проблема.
Делаю домашку :Домашнее задание. Кукольный театр.
1. ТЗ: необходимо построить архитектуру приложения "Кукольный театр".
Субъекты кукольного театра:
1. Кукловод
имеет свойства: пол, тип голоса, талант (1-10), куклы.
умеет: запускать выступление куклы.
2. Кукла
имеет свойства: тип, пол, возраст, цвет.
умеет: выступать
3. Постановка
имеет свойства: кукловоды
умеет: запускать выступление Кукловода
4. Зритель.
умеет: аплодировать.
5. Сцена
свойства: Постановка, Зрители.
умеет: запускать Постановку.

2. Собрать кукольный театр и запустить представление.
Написала код,но результата нет

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
class Dolls
{
    public $type;
    public $name;
    public $gender;
    public $color;
    public $text;
 
public function __construct($type,$name,$gender,$color,$text)
{
    $this->type=$type;
    $this->name=$name;
    $this->gender=$gender;
    $this->color=$color;
    $this->text=$text;
    
}
 
public function greeting()
{
    echo 'Всем привет! Меня зовут' . $this->name 
    .'! И я-<span style="color:' . $this->color . '">' . $this->gender . ' ' 
    . $this->type .'</span'
    .'речь:"' . $this->text . '!"<br>';
}
}
class Pupeteer
{
public $name;
public $talant;
public $voice;
public $dolls;
public function __construct($name,$talant,$voice)
{
    $this->name=$name;
    $this->talant=$talant;
    $this->voice=$voice;
   
}
function play()
{
    echo '------- Выступает' . $this->name . '--------------<hr>'
    .$this->talant . $this->voice;
 }
}
 
 
class Perform
 {
     private $puppeteer=[];
     public function __construct()
     {
     }
     public function run()
     {
         echo '---------- Начинается выступление -----------<br>';
 
     }
 
 }
 
 
class Viewer
{
    public $emotions;
 
    public function __construct($emotions)
    {
        $this->emotions=$emotions;
    }
 
    public function reaktion()
    {
        for($i=0;$i<rand(0,10);$i++){
            echo $this->emotions . '! ';
        }
        echo '<br>';
    }
}
class Theater
{
    private $perform;
    private $viewers=[];
 
    public function __construct()
    {
    }
    public function run1()
    {
        echo '-------- Занавеc----------<hr>';
    }
}
 
$akter1=new Dolls('красная шапочка','red','девочка','алена','я к бабушке иду');
$akter2=new Dolls('серый волк','purple','мальчик','миша','съем тебя');
$akter3=new Dolls('бабушка','yellow','девочка','оксана','внученька иди сюда');
$akter4=new Dolls('мама','blue','девочка','анна','отнеси пирожки');
$anna=new Pupeteer('Анна',rand(0,10),rand(0,10));
ЗАРАНЕЕ ВСЕМ ОГРОМНОЕ СПАСИБО
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.11.2019, 08:06
Ответы с готовыми решениями:

ООП, Архитектура приложения на C++
Доброго дня! Не знаю в тот ли раздел, но буду писать на C++ и в ООП новичок. Неплохо знаю Си, &quot;Си++ с классами&quot;. В основном...

В указанном dsn архитектура драйвера и архитектура приложения не соответствуют друг другу
Добрый день. При запуске программы выскакивает вот такая вот ошибка. В чем может быть проблема и как ее исправить?

Ошибка "в указанном dsn архитектура драйвера и архитектура приложения"
Вот такая ошибка при нажатии на кнопку &quot;Проверить соединение&quot; Я прочитал, что это возможно из за того, что моя система 64, а...

4
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
03.11.2019, 11:50
Цитата Сообщение от blinchik104 Посмотреть сообщение
1. Кукловод
имеет свойства: пол, тип голоса, талант (1-10), куклы.
умеет: запускать выступление куклы.
Раз есть свойство "куклы", значит должна быть возможность добавления кукол кукловоду. Через конструктор или сеттер, например:

PHP
1
2
3
4
public function addDoll($doll)
{
    $this->dolls[] = $doll;
}
А при запуске play() проходимся циклом по всем куклам и вызываем у них метод greeting().

Остальное пока не смотрел.
0
0 / 0 / 0
Регистрация: 29.12.2020
Сообщений: 1
09.03.2021, 18:17
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php 
 
class Doll 
{
    public $type = "";
    public $gender = "";
    public $age = 0;
    public $color = "";
 
    public function __construct(string $type ,string $gender ,int $age ,string $color)
    {
        $this->type = $type;
        $this->age = $age;
        $this->color = $color;
        $this->gender = $gender;
    }
 
    public function start()
    {
        echo 'Всем привет, мой тип ' . $this->type . ' и я ' . $this->gender . ' <span style="color' . $this->color . '">' . $this->age . '</span><br>';
    }
}
 
class Pupeteer
{
    public $gender = '';
    public $talant;
    public $voice = '';
    public $dolls = [];
    public $name = "";
    
    public function __construct($name,$gender , $voice , $dolls)
    {
        $this->name = $name;
        $this->gender = $gender;
        $this->voice = $voice;
        $this->dolls = $dolls;
        $this->talant = mt_rand(1,10);
    }
 
    public function start()
    {
        echo '--------Start show--------<br> My name ' . $this->name . '<br>';
        foreach ($this->dolls as $doll) {
           $doll->start();
        }
    }
}
 
class Performce
{
    public $pupeteers = [];
    
    public function __construct(array $pupeteers)
    {
        $this->pupeteers = $pupeteers;
    }
 
    public function start()
    {
        echo '--------Tu-tu-tuuu!--------<br>';
        foreach ($this->pupeteers as $pup) {
           $pup->start();
        }
    }
}
class Viewer
{
    public function applause()
    {
        echo 'Clap clap clap clap clap';
    }
}
 
class Scene 
{
    public $performce;
    public $viewers = [];
 
    public function __construct($performce ,array $viewers)
    {
        $this->performce=$performce;
        $this->viewers=$viewers;
    }
 
    public function start()
    {
        $this->performce->start();
        foreach ($this->viewers as $viewer) {
            $viewer->applause();
        }
    }
}
 
$doll1=new Doll('plastic','f',7,'red');
$doll2=new Doll('plastic','m',10,'green');
$doll3=new Doll('plastic','d',8,'yellow');
$doll4=new Doll('plastic','g',9,'purple');
 
$pupeteer1 = new Pupeteer('Master', 'm' , 'bass' , [$doll1,$doll2]);
$pupeteer2 = new Pupeteer('Master2', 'm' , 'bass' , [$doll3,$doll4]);
 
$performce = new Performce([$pupeteer1,$pupeteer2]);
 
$viewer1= new Viewer();
$viewer2= new Viewer();
$viewer3= new Viewer();
$viewer4= new Viewer();
 
$scene = new Scene($performce,[$viewer1,$viewer2,$viewer3,$viewer4]);
 
$scene->start();
0
0 / 0 / 0
Регистрация: 03.03.2021
Сообщений: 7
10.03.2021, 17:07
А не проще ли взять существующий фреймворк где уже есть готовые и виды и модели, например YII2
0
10.03.2021, 19:19

Не по теме:

PartizanPHP, это никак не поможет в решении задачи.

Тем более это наверняка задача для учебного заведения

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2021, 19:19
Помогаю со студенческими работами здесь

ООП архитектура игр
Добрый день! Если в игре есть главный цикл, и я делаю надстройку ООП, нужно ли заносить этот цикл в класс окна/приложения...

Правильная ООП архитектура
Есть классы-Дома, наследуемые от базового класса, как показано ниже в коде. Я хочу сделать кнопки в ГУИ. При нажатии на кнопку строиться...

Архитектура классов (ооп)
Нужно создать crud приложение для managerов. Как это примерно будет выглядеть: Есть возможность просматривать товары. Добавлять клиентов,...

Социальная сеть (сложная архитектура): аудио+видео+чаты+обмен данными +приложения (месенджеры и приложения)
Социальная сеть(сложная архитектура): аудио+видео+чаты+видео звонки с конференсом+обмен данными +приложения(месенджеры и внутренние...

Архитектура для игры, ООП, код ревью
Здравствуйте. Пишу консольную игру танки. Если кратко: у класса Tank есть инвентарь, в котором хранится информация о снарядах,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru