Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 15:34   #1
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
Вопрос Как описать класс на языке С# ?

Всем приветик.

Мне попался такой вопрос - "Пример описания класса прямоугольников на С#"
Проблема в том что, я изучаю паскаль и делфи (это наши основные языки в институте), и совсем не разбираюсь в С#.

Конечно, у нас была 1 лекция по С# - типа ознакомительная, все в общих чертах...
В общем я не уверена что смогу правильно выполнить это задание, так как вообще не знаю этот язык.
Пожалуста, помогите мне правильно написать этот код...

Вот на делфи я этот пример быстренько написала

Код:
TRectangle = Class 
private
x, x2, y, y2 : integer; // координаты
public
constructor Create;
destructor Destroy;
function GetX: integer;
function GetX2: integer;
function GetY: integer;
function GetY2: integer;
procedure SetXY ();
procedure MoveTo (); // метод перемещения 
procedure Show; // метод прорисовки
procedure Rotate; // метод вращения 
end;
А вот моя попытка на С#. Не уверена, что правильно. Пожалуста, подправьте где нужно.

Код:
Class TRectangle
{
private int x;
private int y;
private int x2;
private int y2;
public Create(){;}
public int GetX(){return x;}
public int GetX1(){return x2;}
public int GetY(){return y;}
public int GetY2(){return y2;}
public SetXY (){;}
public MoveTo (){;} // метод перемещения 
public Show (){;} // метод прорисовки
public Rotate(){;} // метод вращения 
};

Последний раз редактировалось diliana; 20.04.2010 в 15:36.
diliana вне форума Ответить с цитированием
Старый 20.04.2010, 15:39   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

в принципе правильно, но подход к созданию объекта не совсем правильный

скачай любую книженцию, там этот вопрос описан очень подробно

Код:
using System;
// работа с дробями как с объектами
namespace Fracttions
{
    class Fract
    {
        public int Chislitel;
        public int Znamenatel;

        public Fract()
        {
            Chislitel = 0;
            Znamenatel = 1;
        }

        public Fract(int Chislitel, int Znamenatel) // обрати внимание
        {
            this.Chislitel = Chislitel;
            this.Znamenatel = Znamenatel;
        }

        public Fract(Fract frt)
        {
            Chislitel = frt.Chislitel;
            Znamenatel = frt.Znamenatel;
        }

        public override string ToString()
        {
            string temp = Convert.ToString(Chislitel) + '/' + Convert.ToString(Znamenatel);
            return temp;
        }
теперь смотри, как можно создать объект
Код:
Fract obj = new Fract();
Fract obj1 = new Fract(1, 2);
в первом случае надо будет заново определять числитель и знаменатель, а во втором случае сразу - так быстрей и понятней
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]

Последний раз редактировалось RUSt88; 20.04.2010 в 15:48.
RUSt88 вне форума Ответить с цитированием
Старый 20.04.2010, 15:43   #3
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

Ну просто мне не нужно будет больше этот C#
Задание на всего один раз (для галочки).
Ну если не сложно, пожалуста, набросайте код...
Кто знает, это же для него совсем пустяк...
diliana вне форума Ответить с цитированием
Старый 20.04.2010, 15:51   #4
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

вместо public Create(){;}
напиши так
public TRectangle(int left, right, top, bound){
x = left;
x2 = right;
...
}
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 20.04.2010, 15:58   #5
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

RUSt88

Мне этот пример нужен только для устного ответа.

то есть это будет так
Код:
Class TRectangle
{
private int x;
private int y;
private int x2;
private int y2;
public TRectangle(int left, right, top, bound){x = left;x2 = right;} 
public int GetX(){return x;}
public int GetX1(){return x2;}
public int GetY(){return y;}
public int GetY2(){return y2;}
public SetXY (){;}
public MoveTo (){;} // метод перемещения 
public Show (){;} // метод прорисовки
public Rotate(){;} // метод вращения 
};
diliana вне форума Ответить с цитированием
Старый 20.04.2010, 16:02   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то есть это будет так
Да. В целом так.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.04.2010, 16:10   #7
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

RUSt88
Stilet

Спасибо
diliana вне форума Ответить с цитированием
Старый 20.04.2010, 16:33   #8
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

можно было сделать проще - запускаешь в студии какой нить проект, винФормс например
пишешь в любом месте кода Rectangle
нажимаешь правую кнопку мыши на этом слове и выбираешь "Перейти к определению" (или по английски аналог)

собственно открывается набор всех методов стандартного класса System.Drawing.Rectangle (вообще это структура, но не суть) с подробным описанием
остается только выбрать подходящие и скопировать, а описание может помочь рассказать про "свой класс"
m0nax вне форума Ответить с цитированием
Старый 20.04.2010, 17:01   #9
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Цитата:
public TRectangle(int left, right, top, bound){x = left;x2 = right;}
не дописала!!!

Код:
x = left;
x2 = right;
y = top;
y2 = bound;
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не знаю как описАть вопрос ToBs Помощь студентам 2 17.12.2009 20:44
помогите описать Класс joker815 Помощь студентам 10 29.09.2009 00:02
Как правильно описать функцию? аукшщ Общие вопросы C/C++ 2 19.01.2009 11:37
Программа на русском языке в Windows XP на другом языке... Как? 29bit Свободное общение 4 01.02.2008 17:24