Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Кир
20 / 20 / 0
Регистрация: 04.03.2010
Сообщений: 130

Использование интерфейсов

01.03.2011, 19:21. Показов 1799. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Реализовать иерархию классов из индивидуального задания. Определить и использовать интерфейс IFigure (Фигура). В интерфейс включить методы вычисления площади (если это возможно) и объема (если это возможно) фигуры, а также свойства, связанные с соответствующими данными классов.

Фигура - Точка - Линия - Круг
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.03.2011, 19:21
Ответы с готовыми решениями:

Разработка интерфейсов, использование механизма наследования интерфейсов и применение их в программах
Имеется код, необходимо реализовать, и протестировать эти интерфейсы IComparable (сравнимый), ICloneable (клонируемый). Помогите...

Использование интерфейсов
Реализовать иерархию классов из индивидуального задания. Определить и использовать интерфейс IFigure (Фигура). В интерфейс включить методы...

Использование интерфейсов
Реализовать иерархию классов Фигура - Круг – Квадрат (данные-координаты). Определить и использовать интерфейс IFigure (Фигура). В...

8
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
01.03.2011, 22:05
тут усё есть Использование интерфейсов
0
 Аватар для Кир
20 / 20 / 0
Регистрация: 04.03.2010
Сообщений: 130
03.03.2011, 09:08  [ТС]
вот с точкой с линией как то получилось а вот Круг никак не магу

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
127
128
129
130
131
132
133
134
135
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace lab_7
{
    public interface IFigura
    {
        double X1 //свойства по x
        {
            set;
            get;
        }
        double Y1 //свойства по y
        {
            set;
            get;
        }
        void vvod(); // метод ввода
        double S(); // метод вычисления площади
        double V(); // метод вычисления объема
    }
    public class Tochka : IFigura
    {
        private double x1;
        // свойства класса Tochka
        public double X1
        {
            set //задаём
            {
                x1 = value;
            }
            get //получаем
            {
                return x1;
            }
        }
        private double y1;
        public double Y1
        {
            set
            {
                y1 = value;
            }
            get
            {
                return y1;
            }
        }
 
        public Tochka(double x1, double y1) //конструктор класса Tochka
        {
            this.x1 = x1;
            this.y1 = y1;
        }
        public void vvod() //определяем метод ввода координат первой точки
        {
            Console.WriteLine("Введите координату точки по х1");
            x1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите координату точки по y1");
            y1 = Convert.ToDouble(Console.ReadLine());
        }
        public double S() //определяем метод вычисления площади
        {
            return 0;
        }
        public double V() //определяем метод вычисления объёма
        {
            return 0;
        }
        public override string ToString()
        {
            return String.Format("Точка с координатами {X1={0};Y1={1};}", x1, y1);
        }
    }
 
    public class Line : Tochka
    {
        private double x2;
        public double X2
        {
            set
            {
                x2 = value;
            }
            get
            {
                return x2;
            }
        }
        private double y2;
        public double Y2
        {
            set
            {
                y2 = value;
            }
            get
            {
                return y2;
            }
        }
        public Line(double x1, double y1, double x2, double y2)
            : base(x1, y1) //конструктор класса Line
        {
            this.x2 = x2;
            this.y2 = y2;
        }
        public void vvod()
        {
            base.vvod(); //вызываем метод ввода из Tochka
            Console.WriteLine("Введите координату по х2"); //вводим координаты второй точки
            x2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите координату по y2");
            y2 = Convert.ToDouble(Console.ReadLine());
        }
        public override string ToString() //переопределяем ToString()
        {
            return String.Format("Линия имеет координаты \n(x1={0};y1={1};)\n(x2={2};y2={3};)", X1, Y1, x2, y2);
        }
    }
 
 
    class Program
    {
        static void Main(string[] args)
        {
            Line line = new Line(0, 0, 0, 0); //объявляем экземпляр класса Line
            line.vvod(); //вызываем метод ввода координат из line
            Console.WriteLine(line); //вызываем переопределый метод ToString из line
            Console.ReadKey();
        }
    }
}
Добавлено через 34 минуты
Ну хоть кто подскажите

Добавлено через 2 часа 2 минуты
Помогите !
 Комментарий модератора 
Используйте теги форматирования кода!


Добавлено через 15 часов 19 минут
Неужели никто не может помочь ?
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
04.03.2011, 00:12
в чем проблема-то
класс круг нследует линию
один конец лини это центр круга, сама линия-длина линии по сути это радиус вот и все- пиши.
а вообще читай соседний топик и пользуйся поиском на сайте+ выше привели ссылку на подобный топик.
0
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
04.03.2011, 01:35
на всякий случай
0
 Аватар для Кир
20 / 20 / 0
Регистрация: 04.03.2010
Сообщений: 130
04.03.2011, 08:47  [ТС]
Да я всё это пробывал но прога не пашет попробуйте вы очень срочно нада сегодня
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
04.03.2011, 10:37
Цитата Сообщение от Кир Посмотреть сообщение
Да я всё это пробывал но прога не пашет попробуйте вы очень срочно нада сегодня
а ты попробуй правильный код написать , с имплементацией и обдумать каждую написаную строку кода. и почитай лдитературу/гугл по интерфейсам-под лежачий камень вода не течет, да и ответы тебе уже дали, а что бы за тебя что то сделали это во фриланс.
0
25 / 25 / 5
Регистрация: 11.11.2009
Сообщений: 56
04.03.2011, 11:04
Примерно так:
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
using System;
 
namespace ConsoleApplication7
{
    public interface IFigura
    {
        object X1 //свойства по x
        {
            set;
            get;
        }
        object Y1 //свойства по y
        {
            set;
            get;
        }
        void vvod(); // метод ввода
        double S(); // метод вычисления площади
        double V(); // метод вычисления объема
    }
 
    public class Tochka : IFigura
    {
        private double x1;
        // свойства класса Tochka
        public object X1
        {
            set //задаём
            {
                x1 = (double)value;
            }
            get //получаем
            {
                return x1;
            }
        }
        private double y1;
        public object Y1
        {
            set
            {
                y1 = (double)value;
            }
            get
            {
                return y1;
            }
        }
 
        public Tochka(double x1, double y1) //конструктор класса Tochka
        {
            this.x1 = x1;
            this.y1 = y1;
        }
        public Tochka()
            : this(0, 0)
        {
 
        }
 
        public void vvod() //определяем метод ввода координат первой точки
        {
            Console.WriteLine("Введите координату точки по х1");
            x1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Введите координату точки по y1");
            y1 = Convert.ToDouble(Console.ReadLine());
        }
        public double S() //определяем метод вычисления площади
        {
            return 0;
        }
        public double V() //определяем метод вычисления объёма
        {
            return 0;
        }
        public override string ToString()
        {
            return String.Format("Точка с координатами {{X1={0};Y1={1};}}", x1, y1);
        }
    }
 
    public class Line : IFigura
    {
        public Line(double x1, double y1, double x2, double y2)
        //конструктор класса Line
        {
            X1 = new Tochka(x1, y1);
            Y1 = new Tochka(x2, y2);
        }
 
        private Tochka x1;
        public object X1
        {
            get { return x1; }
            set { x1 = (Tochka)value; }
        }
 
        private Tochka y1;
        public object Y1
        {
            get { return y1; }
            set { y1 = (Tochka)value; }
        }
 
        public void vvod()
        {
            Console.WriteLine("Введите координаты 1-й точки");
            x1 = new Tochka();
            x1.vvod();
            Console.WriteLine("Введите координаты 2-й точки");
            y1 = new Tochka();
            y1.vvod();
        }
 
        public double S()
        {
            return 0;
        }
 
        public double V()
        {
            return 0;
        }
 
        public override string ToString() //переопределяем ToString()
        {
            return String.Format("Линия имеет координаты \n(x1={0};y1={1};)\n(x2={2};y2={3};)", X1, Y1, x2, y2);
        }
    }
 
    internal class Circle : IFigura
    {
        private Tochka x1;
 
        public object X1
        {
            get { return x1; }
            set { x1=(Tochka) value; }
        }
 
        private double y1;
        public object Y1
        {
            get { return y1; }
            set { y1 = (double) value; }
        }
 
        public void vvod()
        {
            Console.WriteLine("Введите координату центра");
            x1 = new Tochka();
            x1.vvod();
            Console.WriteLine("Введите радиус");
            y1 = Convert.ToDouble(Console.ReadLine());
        }
 
        public double S()
        {
            return 2*Math.PI*y1*y1;
        }
 
        public double V()
        {
            return 0;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Line line = new Line(0, 0, 0, 0); //объявляем экземпляр класса Line
            line.vvod(); //вызываем метод ввода координат из line
            Console.WriteLine(line); //вызываем переопределый метод ToString из line
            Console.ReadKey();
        }
    }
}
1
 Аватар для Кир
20 / 20 / 0
Регистрация: 04.03.2010
Сообщений: 130
04.03.2011, 15:32  [ТС]
ExkaliBur: спасибо но вывода нету : всё перепробывал не пашет хот тресни
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2011, 15:32
Помогаю со студенческими работами здесь

Использование интерфейсов C#
нужна помощь необходимо описать правила использования интерфейсов.

Использование интерфейсов
Реализовать иерархию классов. Определить и использовать интерфейс IFigure (Фигура). В интерфейс включить методы вычисления площади (если...

Использование интерфейсов
Реализовать иерархию классов Квадрат – Треугольник. Вместо абстрактного класса определить и использовать интерфейс. В интерфейс включить...

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru