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

Создать класс Point, на его основе создать класс Line

16.01.2011, 20:51. Показов 9652. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть такая часть задачки:
"Создать класс Point, на его основе создать класс Line.
В классах описать следующие элементы:
• конструкторы с параметрами и конструкторы по умолчанию;
• свойства для установки и получения значений всех координат."

Класс Point
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
    class Point
    {
        public double x;
        public double y;
 
        public Point()
        {
        }
 
        public Point(double a, double b)
        {
            x = a;
            y = b;
        }
 
        public static Point Write(Point A)
        {
            Console.WriteLine(A.x);
            Console.WriteLine(A.y);
            return A;
        }
        public static Point Coordinate(Point A, double a, double b)
        {
            A.x = a;
            A.y = b;
            Point.Write(A);
            return A;
        }
    }
А вот на его основе Line:
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
    class Line:Point
    {
        public Point A;
        public Point B;
 
        public Line()
        {
        }
 
        public Line(Point A, Point B)
        {
        }
 
        public static Line Write(Line C)
        {
            if ((C.A.x == null) || (C.B.x == null) || (C.A.y == null) || (C.B.y == null))
            {
                return null;
            }
            else
            {
                Console.WriteLine(C.A.x);
                Console.WriteLine(C.A.y);
                Console.WriteLine(C.B.x);
                Console.WriteLine(C.B.y);
                return C; 
            }
        }
    }
Тестовая программа, для демонстрации классов:
C#
1
2
3
4
5
6
7
8
9
10
            double x = 1;
            double y = 1;
            Point A = new Point(x, y);
            Point B = new Point(x+5, y+7);
            Point.Write(A);
            Point.Write(B);
            Point.Coordinate(A, 4, 10);
 
            Line E = new Line(A, B);
            Line.Write(E);
Я так понял, что Line должен состоять из 2-х Point-ов, но в таком случае программа выдает ошибку ((
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2011, 20:51
Ответы с готовыми решениями:

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line
Необходимо: Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия). На основе класса Line создать...

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия)
На основе класса Line создать классы ColoredLine и PolyLine (многоугольник). В классах описать следующие элементы: □ конструкторы с...

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия)
всем привет! помогите пожалуйста с решением задачи. вот задание: "Создать класс Point (точка). На его основе создать классы...

8
 Аватар для Merlin666
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
16.01.2011, 21:11
Цитата Сообщение от hydraa Посмотреть сообщение
public Line(Point A, Point B)
* * * * {
* * * * }
В этом конструкторе вы ничего не пишите и по умолчанию ставится null

Добавлено через 2 минуты
Советую попробовать так..попробуйте и скажите получится..у меня нет просто омпилятора под рукой..
C#
1
2
3
4
5
6
7
        public Line(Point F, Point K)
        {
           this.A.x=F.x;
           this.A.y=F.y;
           this.B.x=K.x;
           this.B.y=K.y;           
        }
Добавлено через 1 минуту
И причем..у вас метод возвращает объект класса..а у вас никуда он не присвоен..
C#
1
public static Line Write(Line C)
1
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7
16.01.2011, 21:12  [ТС]
Сделал так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    class Line:Point
    {
        public Point A;
        public Point B;
 
        public Line(Point F, Point K)
        {
            this.A.x = F.x;
            this.A.y = F.y;
            this.B.x = K.x;
            this.B.y = K.y;
        }
    }
Выдает ошибку: "В экземпляре не задана ссылка на объект".
Подскажите как правильно описать метод
0
 Аватар для Merlin666
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
16.01.2011, 21:17
Если хотите передавать координаты точек, то:
C#
1
 public Line(double x1, double y1, double x2, double y2)
Я нашел компилятор-вы чуток подождете, я сейчас все оформлю) ок?=)
1
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7
16.01.2011, 21:19  [ТС]
C#
1
public Line(double x1, double y1, double x2, double y2)
Я так пробовал, но препод сказал что так "не очень", и надо линию задавать через две точки
0
 Аватар для Merlin666
98 / 98 / 29
Регистрация: 26.12.2010
Сообщений: 220
16.01.2011, 21:25
Держи..)
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
 class Point
    {
        public double x;
        public double y;
 
        public Point()
        {
        }
 
        public Point(double a, double b)
        {
            x = a;
            y = b;
        }
 
        public static void Write(Point A)
        {
            Console.Write("Write(Point A): ");
            Console.Write(A.x+" ");
            Console.WriteLine(A.y);
        }
 
        public static Point Coordinate(Point A, double a, double b)
        {
            A.x = a;
            A.y = b;
            Point.Write(A);
            return A;
        }
    }
 
    class Line : Point
    {
        public Point A;
        public Point B;
 
        public Line()
        {
        }
 
        public Line(Point A1, Point B1)
        {
            this.A = A1;
            this.B = B1;
        }
 
        public static void Write(Line C)
        {
            if ((C.A.x == null) || (C.B.x == null) || (C.A.y == null) || (C.B.y == null))
            {
                return;
            }
            else
            {
                Console.Write("Write(Line C): ");
                Console.Write(C.A.x+" ");
                Console.Write(C.A.y+" ");
                Console.Write(C.B.x+" ");
                Console.WriteLine(C.B.y+" ");
            }
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            double x = 1;
            double y = 1;
            Point A = new Point(x, y);
            Point B = new Point(x + 5, y + 7);
            Point.Write(A);
            Point.Write(B);
 
            Point p = new Point();
            p=Point.Coordinate(A, 4, 10);
 
            Line E = new Line(A, B);
            Line.Write(E);
        }
    }
1
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7
16.01.2011, 21:51  [ТС]
В классе Line нужно описать метод для измерения длинны линии.

C#
1
2
3
4
5
6
        
public static double Lenght(Line C)
        {
            double Lenght = System.Math.Sqrt(System.Math.Pow(C.A.x - C.B.x,2) + System.Math.Pow(C.A.y - C.B.y,2));
            return Lenght;
        }
Но тут явно не правильно (

В программе это должно выглядеть так:
C#
1
            double s = E.Lenght();
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
16.01.2011, 23:01
Цитата Сообщение от Merlin666 Посмотреть сообщение
class Line : Point
Извените, а это зачем? На основе класса не значит "производным от класса".
0
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7
16.01.2011, 23:23  [ТС]
А как тогда описать производный?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.01.2011, 23:23
Помогаю со студенческими работами здесь

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия)
Задания на наследование. Создать класс Point (точка). На его основе создать классы ColoredPoint и Line (линия). В классах описать...

Создать класс Point (точка) На его основе создать классы ColoredPoint и Line (линия)
Помогите пожалуйста, сделать лабу :cry: Лабораторная работа 9. Наследование В программах требуется описать базовый класс (возможно,...

Создать класс Line (линия). На его основе создать классы ColoredLine и Treug (треугольник)
Помогите, вообще не знаю как это сделать:cry: Создать класс Line (линия). На его основе создать классы ColoredLine и Treug...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. Имею такую задачу. Создать абстрактный...

Построить класс треугольник и на его основе создать класс параллелограмм, используя механизм наследования
Построить класс треугольник и на его основе создать класс параллелограмм, используя механизм наследования


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru