Автор работы: Пользователь скрыл имя, 09 Мая 2015 в 17:15, курсовая работа
Темой курсового проекта является моделирование процесса сборки мебели на языке С#. Для реализации поставленной задачи необходимо разработать базовые и производные классы. Также нужно задать для полей и методов классов спецификаторы доступа в зависимости от их использования, построить абстрактные типы данных, сделать перегрузку некоторых методов, задать виртуальные функции, создать обобщённые и необобщённые коллекции, применить исключения, разработать различные конструкторы для объектов.
Данная тема является актуальной на сегодняшний день, так как разработанное приложение поможет организовать процесс работы гостиницы в различных городах.
Введение...............................................................................................................................5 1 Структура и состав классов для построения модели работы гостиницы.
Инкапсуляция. Применение конструкторов на С#......................................................... 7
1.1 Поля и методы основного и вспомогательного классов............................................7
1.2 Реализация классов на С#............................................................................................ 8
1.3 Примеры использования объектов основного класса Otel и вспомогательного класса Nomer......................................................................................................................11
2 Перегрузка оператора +………………………………………………………………. 13
2.1 Перегрузка оператора + для объектов класса Nomer …………………………….13
2.2 Метод типа void с возвратом результата через параметр ref……………………..15
3 Создание производного класса….................................................................................17
3.1 Производный класс. Модификатор доступа protected и его использование..........17
3.2 Реализация производного класса на С#.....................................................................19
4 Абстрактные классы и виртуальные функции ............................................................23
4.1 Разработка виртуальной функции……………………………………………..........23
4.2 Вызов виртуальной функции…………… .................................................................25
4.3 Разработка абстрактного класса и создание абстрактной функции…………...…27
4.4 Создание статического метода для вспомогательного класса……………………32
5 Применение строк и исключений на языке С#............................................................34
5.1 Класс String в С#, основные методы класса…………………..................................34
5.2 Пример использования методов класса String .........................................................36
5.3 Исключения на языке С#............................................................................................34
6 Создание коллекций…………….…….……………………………………………….39
6.1 Реализация необобщённой коллекции......................................................................39
6.2 Реализация обобщённой коллекции..........................................................................42
Заключение.........................................................................................................................45
Список использованных источников ..............................................................................36
Приложение А....................................................................................................................47
Приложение Б ...................................................................................................................51
Приложение В ...................................................................................................................56
Приложение Г ...................................................................................................................61
Приложение Д....................................................................................................................70
Приложение Е ..................................................................................................................
Содержание
Введение......................
Инкапсуляция. Применение конструкторов
на С#............................
1.1 Поля и методы основного
и вспомогательного классов....
1.2 Реализация классов
на С#.........................
1.3 Примеры использования
объектов основного класса Otel
и вспомогательного класса Nomer.........................
2 Перегрузка оператора +………………………………………………………………. 13
2.1 Перегрузка оператора + для объектов класса Nomer …………………………….13
2.2 Метод типа void с возвратом результата через параметр ref……………………..15
3 Создание производного
класса….......................
3.1 Производный класс. Модификатор доступа protected и его использование..........17
3.2 Реализация производного
класса на С#............................
4 Абстрактные классы и
виртуальные функции ..........
4.1 Разработка виртуальной
функции……………………………………………......
4.2 Вызов виртуальной функции……………
..............................
4.3 Разработка абстрактного класса и создание абстрактной функции…………...…27
4.4 Создание статического метода для вспомогательного класса……………………32
5 Применение строк и
исключений на языке С#........
5.1 Класс String в С#, основные
методы класса………………….................
5.2 Пример использования
методов класса String ..............................
5.3 Исключения на языке
С#............................
6 Создание коллекций…………….…….………
6.1 Реализация необобщённой
коллекции.....................
6.2 Реализация обобщённой коллекции.....................
Заключение....................
Список использованных источников
..............................
Приложение А.............................
Приложение Б ..............................
Приложение В ..............................
Приложение Г ..............................
Приложение Д.............................
Приложение Е ..............................
Введение
На современном этапе развития компьютерных технологий невозможно представить какого–либо высококвалифицированного специалиста, не владеющего информационными технологиями. Поскольку деятельность любого субъекта в значительной степени зависит от степени владения информации, а также способности эффективно ее использовать. Для свободной ориентации в информационных потоках современный специалист любого профиля должен уметь получать, обрабатывать и использовать информацию, прежде всего, с помощью компьютеров, а также телекоммуникаций и других новейших средств связи, в том числе и уметь, обращаться с языками программирования.
В основу языков объектно-ориентированного программирования положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений. Одним из таких языков является С#.
C# представляет собой объектно-ориентированный язык программирования. Он относится к семье языков с C-подобным синтаксисом. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов явного и неявного типа, делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. С# исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем. Он разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR.
Название «Си шарп» происходит от музыкальной нотации, где знак диез, прибавляемый к основному обозначению ноты, означает повышение соответствующего этой ноте звука на полутон.
Темой курсового проекта является моделирование процесса сборки мебели на языке С#. Для реализации поставленной задачи необходимо разработать базовые и производные классы. Также нужно задать для полей и методов классов спецификаторы доступа в зависимости от их использования, построить абстрактные типы данных, сделать перегрузку некоторых методов, задать виртуальные функции, создать обобщённые и необобщённые коллекции, применить исключения, разработать различные конструкторы для объектов.
Данная тема
является актуальной на
1 Структура и состав классов для построения модели работы гостиницы.
Инкапсуляция. Применение конструкторов на С#
1.1 Поля и методы основного и вспомогательного классов
Определение класса состоит из определения поля класса и методов класса. Поле класса – это информация, описывающая объекты данного класса. Метод класса – это действия, которые либо могут выполнять объекты данного класса, либо можно выполнять над объектами данного класса.
В курсовой работе основной структурной единицей для изучения является гостиница. Следовательно, основным классом является класс Otel, состоящий из трёх элементов (Nomer1, Nomer2, Nomer3). Полями класса являются три целых поля и вещественное поле- привлекательность номера (PrivlekNom).
Вспомогательный класс Nomer имеет целое поле – стоимость(stoimost) и вещественное площадь(ploshad) - привлекательность номера.
В работе определены методы Init и Display, обеспечивающие инициализацию и вывод на экран значений полей объектов соответствующего класса. Во вспомога-тельном классе имеется метод вычисления стоимости элемента, входящего в из-делие. Основной класс содержит метод, определяющий общую стоимость изделия.
Инкапсуляция - способность прятать детали реализации объектов от пользова-телей этих объектов. Инкапсуляция, с одной стороны, позволяет скрывать от пользователя объекта детали его внутренней реализации, а, с другой стороны, используется для предотвращения неконтролируемого доступа к внутренним данным объекта. Поэтому все поля наших классов будут определяться через модификатор доступа private, то есть они будут закрытыми, а доступ к ним будет осуществляться через public методы, то есть через открытые функции-члены.
Существует специальная категория методов, отвечающих за такие действия с объектами, как инициализация, присваивание, управление памятью и преобра-зование типов. Такие методы называются конструкторами. Конструкторов в классе может быть множество. Для конструктора типично копирование предоставляемых ему параметров в поля объекта, этим могут ограничиваться его функции. В работе будут использоваться конструкторы с параметрами и без параметров.
1.2 Реализация классов на С#
Ниже приведён фрагмент программы, реализующий классы и их методы из раздела 1.1
//Вспомогательный класс
class Nomer
{
private int ploshad;
public void Display()
{
stoimost = s;
ploshad = p;
name = n;
}
// Вывод значений полей
public void Display()
{
string s;
s = "Название: " + name;
Console.WriteLine(s);
Console.Write("Первое помещение: ");
P1.Display();
Console.Write("Второе помещение: ");
P2.Display();
Console.Write("Третье
P3.Display();
s = "Текущие затраты: " + Convert.ToString(TZatraty);
Console.WriteLine(s);
}
// Привлекательность номера, входящего в гостиницу
public double PrivlekNom()
{
return stoimost / ploshad;
}
// перегрузка метода Add
public Nomer Add(Nomer b)
{
Nomer p;
p = new Nomer();
p.stoimost = this.stoimost + b.stoimost;
p.ploshad = this.ploshad + b.ploshad;
p.name = this.name + b.name;
return p;
}
//Конструктор с тремя параметрами
public Nomer(double s, int p, string n)
{
stoimost = s;
ploshad = p;
name = n;
}
//Конструктор с одним параметром
public Nomer(double s)
{
stoimost = s;
}
//Конструктор без параметров
public Nomer()
{
stoimost = 123;
ploshad = 12;
name = "номер";
}
}
//Основной класс Отель
class Otel
{
private string name;
private double TZatraty;
//Три объекта класса Элемент
private Nomer P1 = new Nomer();
private Nomer P2 = new Nomer();
private Nomer P3 = new Nomer();
public void Init(string n1, string n2, string n3, double s1, int p1, double s2, int p2, double s3, int p3, double TZ)
{
P1.Init(s1, p1, n1);
P2.Init(s2, p2, n2);
P3.Init(s3, p3, n3);
TZatraty = TZ;
}
//Вывод значений полей
public void Display()
{
string s;
s = "Название: " + name;
Console.WriteLine(s);
Console.Write("Первое помещение: ");
P1.Display();
Console.Write("Второе
P2.Display();
Console.Write("Третье
P3.Display();
s = "Текущие затраты: " + Convert.ToString(TZatraty);
Console.WriteLine(s);
} //Возвращает название элемента
public string gname()
{
return name;
}
//Вычисление привлекательности номера
public double DpomAg()
{
double x;
x = P1.PrivlekNom();
if (x < P2.PrivlekNom())
x = P2.PrivlekNom();
if (x < P3.PrivlekNom())
x = P3.PrivlekNom();
return x;
}
public double SrAg()
{
return P1.PrivlekNom() + P2.PrivlekNom() + P3.PrivlekNom() - TZatraty;
}
public Nomer SumElem()
{
return P1.Add(P2).Add(P3);
Информация о работе Структура и состав классов для построения модели работы гостиницы.