0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 22
1

Создать класс, в котором информация будет храниться в хеше.

18.09.2018, 11:14. Показов 472. Ответов 6
Метки нет (Все метки)

А подскажите еще, мне нужно создать класс , в котором в хеше будет храниться информация, ее пользователь должен вводить (например, машина, год, пробег) , эту информацию мы можем как выводить, так удалить ее по ключу, так и добавлять. С чего начать ? \
Как я понимаю через case сделать, 1. ввод информации, 2. удалить информацию. 3. получить информацию по введеному автомобилю. 4. получить всю информацию которая хранится.
А вот как это реализовать через классы не очень догоняю.. Ввод наверное нужно делать через prompt
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2018, 11:14
Ответы с готовыми решениями:

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

Комментарии. Создать модуль, в котором будет храниться процедура создания картинки
Привет всем! помогите с комментариями к программе пожалуйста... Создайте модуль, в котором будет...

Создать класс, где будет храниться ФИО
Создать класс где будет хранится ФИО,успеваемость ,дата рождение . А так же ввод и удаление...

Инсталлятор для проекта, в котором будет храниться путь к БД
Ещё раз всем привет. Возник вопрос. Моя программа обращается к БД с помощью ADOConnection. Можно...

6
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
18.09.2018, 12:57 2
Javascript
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
const DB = (function(){
    return function ( data = {} ) {
        var db = data;
 
        return {
            getData (id = null) {
                return id ? db[id] : db;
            },
            rmData (id = null) {
                if (!id) return;
                delete db[id];
            },
            setData (id = null, car = null, year = null, run = null ) {
                if ( !id ) return;
                if ( !db[id] ) db[id] = {};
    
                if ( car ) db[id]['car'] = car;         
                if ( year ) db[id]['year'] = year;
                if ( run ) db[id]['run'] = run;
            }
        }
    }; 
})();
 
const test = DB();
 
test.setData('002', 'toyota', 2018, 2899);
test.setData('001', 'bmw', 2014, 7899);
 
test.getData('002'); //{car: "toyota", year: 2018, run: 2899}
test.rmData('002'); 
test.getData('002'); //undefined
1
Эксперт JS
6113 / 3638 / 1859
Регистрация: 14.06.2018
Сообщений: 6,507
18.09.2018, 15:58 3
Контурный набросок программы. Очень много чего не хватает. Просто как введение в ООП в JavaScript.
PHP/HTML
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
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        class Car {
            constructor(id, name, year, run) {
                this.id = id;
                this.name = name;
                this.year = year;
                this.run = run;
            }
            toString() {
                return `${this.id} ${this.name} ${this.year} ${this.run}`;
            }
        }
        class CarCollection {
            constructor() {
                this.hash = new Map();
            }
 
            remove(id) {
                this.hash.delete(id);
            }
 
            add(id, name, year, run) {
                this.hash.set(id, new Car(id, name, year, run));
            }
 
            getById(id) {
                let s = `Информация по автомобилю ${id}:`;
                if (this.hash.has(id))
                    s += "\n" + this.hash.get(id).toString();
                return s;
            }
 
            getAll() {
                let s = "Список автомобилей:\n";
                for (let item of this.hash)
                    s += "\n" + item[1].toString();
                return s;
            }
        }
 
        let list = new CarCollection();
        let choice;
        let str1 = `ВЫБЕРИТЕ ЦИФРУ ДЕЙСТВИЯ:
1. ввод информации. 
2. удалить информацию. 
3. получить информацию по введеному автомобилю. 
4. получить всю информацию, которая хранится.
5. выйти из програмы.`
        while ((choice = +prompt(str1)) > 0 && choice < 5) {
            switch (choice) {
                case 1:
                    let id = prompt("Введите ID автомобиля:"),
                        name = prompt("Введите наименование автомобиля:"),
                        year = prompt("Введите год выпуска:"),
                        run = prompt("Введите пробег:");
                    list.add(id, name, year, run);
                    break;
                case 2:
                    id = prompt("Введите ID автомобиля:");
                    list.remove(id);
                    break;
                case 3:
                    id = prompt("Введите ID автомобиля:");
                    alert(list.getById(id));
                    break;
                case 4:
                    alert(list.getAll());
                    break;
            }
        }
    </script>
</body>
</html>
1
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
19.09.2018, 14:58 4
Цитата Сообщение от amr-now Посмотреть сообщение
Просто как введение в ООП в JavaScript.
ООП без инкапсуляции ?
0
Эксперт JS
6113 / 3638 / 1859
Регистрация: 14.06.2018
Сообщений: 6,507
19.09.2018, 18:11 5
Сохраню здесь для себя ссылку на хороший сайт
http://2ality.com/2014/05/oop-layers.html

Буду периодически почитывать. А то я человек впечатлительный. Могут и переубедить сектанты секты "Свидетели отсутствия ООП в JavaScript".


Хороший сайт. мне понравился.

Добавлено через 54 минуты
Оттуда ссылка на черновик спецификации ECMAScript® 2019 Language Specification
https://tc39.github.io/ecma262/
ECMAScript is an object-oriented programming language
0
j2FunOnly
19.09.2018, 23:35
  #6

Не по теме:

andrey7287, amr-now, давайте без холиваров только
amr-now я полагаю вы адепт C#, не стоит тут сравнивать ЯП - этот раздел посвящен JavaScript. Иначе будет оценено как оффтоп.

0
30 / 28 / 14
Регистрация: 06.01.2016
Сообщений: 161
20.09.2018, 10:42 7
amr-now, речь про ваш код а не про JS.

ЗЫ Ссылки классные, про инкапсуляцию ещё что нибудь найдите. Можете начать, прям с этой темы, во втором посте простейший пример
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2018, 10:42

Создать класс с полями разного типа (string, int и тд) в которые будет записываться соответствующая информация
Необходимо создать класс с полями разного типа (string, int и тд) в которые будет записываться...

Можно ли в com-сервере создать массив в котором будут храниться данные какое-то время
Можно ли в com-сервере сделать так, чтобы одна из процедур выполняла вычисления и заносила их в...

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

Можно ли создать интерфейс, в котором один из методов будет возвращать класс, который реализует интерфейс
Можно ли создать интерфейс, в котором один из методов будет возвращать класс, который реализует...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.