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

Класс Liquid

17.11.2019, 15:07. Показов 1172. Ответов 5

Студворк — интернет-сервис помощи студентам
помогите пожалуйста pешить задачу но с помощью сеpиализации .
Задание:
Создать класс Liquid (жидкость), имеющий поля названия и плотности. Определить методы переназначения и изменения плотности. Создать производный класс Alcohol (спирт), имеющий крепость. Определить методы переназначения и изменения крепости.
Код:
C#
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
113
114
115
116
117
118
119
120
121
122
public class Program
    {
        public static void Main()
        {
            Liquid liquid = new Liquid("Water", 0d);
            Console.WriteLine(liquid);
 
            Console.WriteLine();
 
            Alcohol alcohol = new Alcohol("Royal", .5, 60);
            Console.WriteLine(alcohol);
 
            alcohol.Strength = 50;
 
            Console.ReadKey(true);
        }
    }
 
    public class Liquid
    {
        public Liquid(string name, double density)
        {
            Name = name;
            Density = density;
        }
 
        public Liquid(double density)
        {
            Name = string.Empty;
            Density = density;
        }
 
        public Liquid(string name)
        {
            Name = name;
            Density = .0;
        }
 
        public Liquid()
        {
            Name = string.Empty;
            Density = .0;
        }
 
        private double _density;
        public double Density
        {
            get
            {
                return _density;
            }
            set
            {
                if(value >= 0)
                    _density = value;
            }
        }
 
        private string _name;
        public string Name
        {
            get
            {
                return _name;
            }
            private set
            {
                _name = value;
            }
        }
 
        public override string ToString() => $"Liquid: name = {Name}, density = {Density}";
    }
 
    public class Alcohol : Liquid
    {
        public Alcohol(string name, double density, int strength)
            : base(name, density)
        {
            Strength = strength;
        }
 
        public Alcohol(string name, double density)
            : base(name, density)
        {
            Strength = 0;
        }
 
        public Alcohol(string name, int strength)
            : base(name)
        {
            Strength = strength;
        }
 
        public Alcohol(double density, int strength)
            : base(density)
        {
            Strength = strength;
        }
 
        public Alcohol(int strength)
            : base()
        {
            Strength = strength;
        }
 
        private int _strength;
        public int Strength
        {
            get
            {
                return _strength;
            }
            set
            {
                if(value > 0 && value < 100)
                    _strength = value;
            }
        }
 
        public override string ToString() => base.ToString() + $"\nAlcohol: strength = {Strength}";
    }
Программа должна содержать меню, с помощью которого можно
сохранить объекты и связи между ними в файл или считать объекты и связи между ними с
файла.
Задачу выполнить 4 способами, используя фоматы сериализации:
 binary
 SOAP
 XML
 JSON
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2019, 15:07
Ответы с готовыми решениями:

Создать класс Liquid (жидкость), имеющий поля названия и плотности
Создать класс Liquid(жидкость), имеющий поля названия и плотности . Определить методы переназначения и изменения плотности . Создать...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

Класс: Формальным параметром метода должна быть ссылка на абстрактный класс...
&quot;Формальным параметром метода должна быть ссылка на абстрактный класс или наиболее общий интерфейс в вашей иерархии классов.&quot; ...

5
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
17.11.2019, 15:54
Taras99, 1.через XML
C#
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
113
114
115
116
117
118
119
120
121
122
123
public class Program
    {
        public static void Main()
        {
            {
                Console.Title = $"Workshop";
                Console.OutputEncoding = Encoding.UTF8;
                Console.CursorVisible = false;
                Console.ForegroundColor = ConsoleColor.Green;
                CultureInfo.CurrentCulture = new CultureInfo($"en-US");
            }
 
            string path = $"liquids.xml";
            var liquids = new Liquid[]
            {
                new Liquid("Water", 1000),
                new Alcohol("Martini",800, 43),
                new Liquid("Juice", 2300),
            };
 
            SerializeToXML(path, liquids);
 
            Process.Start(new ProcessStartInfo() { FileName = path, UseShellExecute = true });
 
            Console.ReadKey(true);
        }
 
        public static void SerializeToXML(string path, Liquid[] liquids)
        {
            XmlSerializer formatter = new XmlSerializer(typeof(Liquid[]));
 
            using(FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, liquids);
            }
        }
 
        public static Liquid[] DeserializeXML(string path)
        {
            XmlSerializer formatter = new XmlSerializer(typeof(Liquid[]));
            Liquid[] liquids = null;
 
            using(FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                liquids = (Liquid[])formatter.Deserialize(fs);
            }
 
            return liquids;
        }
    }
 
    [XmlInclude(typeof(Alcohol))]
    [Serializable]
    public class Liquid
    {
        public Liquid(string name, double density) { Name = name; Density = density; }
        public Liquid(double density) { Name = string.Empty; Density = density; }
        public Liquid(string name) { Name = name; Density = .0; }
        public Liquid() { Name = string.Empty; Density = .0; }
 
        private double _density;
        public double Density
        {
            get
            {
                return _density;
            }
            set
            {
                if(value >= 0)
                    _density = value;
            }
        }
 
        private string _name;
        public string Name
        {
            get
            {
                return _name;
            }
            set
            {
                if(!string.IsNullOrEmpty(value))
                    _name = value;
            }
        }
 
        public override string ToString() => $"Liquid: name = {Name}, density = {Density}";
    }
 
    [Serializable]
    public class Alcohol : Liquid
    {
        public Alcohol(string name, double density, int strength)
            : base(name, density) { Strength = strength; }
        public Alcohol(string name, double density)
            : base(name, density) { Strength = 0; }
        public Alcohol(string name, int strength)
            : base(name) { Strength = strength; }
        public Alcohol(double density, int strength)
            : base(density) { Strength = strength; }
        public Alcohol(int strength)
            : base() { Strength = strength; }
        public Alcohol()
            : base() { Strength = 0; }
 
        private int _strength;
        public int Strength
        {
            get
            {
                return _strength;
            }
            set
            {
                if(value > 0 && value < 100)
                    _strength = value;
            }
        }
 
        public override string ToString() => base.ToString() + $"\nAlcohol: strength = {Strength}";
    }
0
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214
17.11.2019, 23:48  [ТС]
Arthur Progy, спасибо! А дpугие задание не знаете?
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
17.11.2019, 23:51
Taras99, просто времени нету
0
0 / 0 / 0
Регистрация: 14.05.2018
Сообщений: 214
18.11.2019, 00:02  [ТС]
Arthur Progy, хотя б 1,2 если не сложно ожалуйста
0
 Аватар для Arthur Progy
251 / 167 / 94
Регистрация: 16.09.2019
Сообщений: 457
18.11.2019, 00:38
Taras99, 2.binary
C#
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
public class Program
    {
        public static void Main()
        {
            {
                Console.Title = $"Workshop";
                Console.OutputEncoding = Encoding.UTF8;
                Console.CursorVisible = false;
                Console.ForegroundColor = ConsoleColor.Green;
                CultureInfo.CurrentCulture = new CultureInfo($"en-US");
            }
 
            string path = "liquids.dat";
            var liquids = new Liquid[]
            {
                new Liquid("Water", 1000),
                new Alcohol("Martini",800, 43),
                new Liquid("Juice", 2300),
            };
 
            BinarySerialize(path, liquids);
 
            var temp = BinaryDeserialize(path);
            foreach(var item in temp)
            {
                Console.WriteLine(item);
            }
 
            Console.ReadKey(true);
        }
 
        public static void BinarySerialize(string path, Liquid[] liquids)
        {
            BinaryFormatter formatter = new BinaryFormatter();
 
            using(FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, liquids);
            }
        }
 
        public static Liquid[] BinaryDeserialize(string path)
        {
            BinaryFormatter formatter = new BinaryFormatter();
            Liquid[] liquids = null;
 
            using(FileStream fs = new FileStream(path, FileMode.OpenOrCreate))
            {
                liquids = (Liquid[])formatter.Deserialize(fs);
            }
 
            return liquids;
        }
    }
 
    [Serializable]
    public class Liquid
    {
        public Liquid(string name, double density) { Name = name; Density = density; }
        public Liquid(double density) { Name = string.Empty; Density = density; }
        public Liquid(string name) { Name = name; Density = .0; }
        public Liquid() { Name = string.Empty; Density = .0; }
 
        private double _density;
        public double Density
        {
            get
            {
                return _density;
            }
            set
            {
                if(value >= 0)
                    _density = value;
            }
        }
 
        private string _name;
        public string Name
        {
            get
            {
                return _name;
            }
            set
            {
                if(!string.IsNullOrEmpty(value))
                    _name = value;
            }
        }
 
        public override string ToString() => $"Liquid: name = {Name}, density = {Density}";
    }
 
    [Serializable]
    public class Alcohol : Liquid
    {
        public Alcohol(string name, double density, int strength)
            : base(name, density) { Strength = strength; }
        public Alcohol(string name, double density)
            : base(name, density) { Strength = 0; }
        public Alcohol(string name, int strength)
            : base(name) { Strength = strength; }
        public Alcohol(double density, int strength)
            : base(density) { Strength = strength; }
        public Alcohol(int strength)
            : base() { Strength = strength; }
        public Alcohol()
            : base() { Strength = 0; }
 
        private int _strength;
        public int Strength
        {
            get
            {
                return _strength;
            }
            set
            {
                if(value > 0 && value < 100)
                    _strength = value;
            }
        }
 
        public override string ToString() => base.ToString() + $"\nAlcohol: strength = {Strength}";
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2019, 00:38
Помогаю со студенческими работами здесь

Описать базовый класс колоды карт и производный класс пасьянс
Здраствуйте! товарищи-программисты, помогите пожалуйста со следующим заданием: Создать колоду карт. Конструкторы колоды должны...

Как правильно передавать параметры из класса А в класс С через класс B?
Всем привет! Пишу игру - Морской бой! Есть класс Game. Также есть класс Battlefield (модель поля, где корабли располагаются). Но нам нужно...

Создание контрола с нуля (класс вершина и класс ребро графа)
Здравствуйте! Меня интересуют какие нибудь примеры, исходники готовых контролов. Хочу написать приложение для работы с графами. Есть...

Класс: Дописать производный класс, дополняющий базовый и содержащий минимум 2 функции-члена...
Составьте программу на языке С#, которая должна содержать: 1) базовый класс в соответствии с вариантом; 2) производный класс,...

Базовый класс Liquid и производный класс Alcohol
Создать класс Liquid, имеющий поля названия и плотности. Определить методы переназначения и плотности. Создать производный класс Alcohol,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru