Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КурсООП 9301 / 9301_Solovyov_Пояснительная записка курсовой работе по дисциплине ООП.docx
Скачиваний:
80
Добавлен:
03.06.2014
Размер:
1.54 Mб
Скачать

МИНОБР НАУКИ РОССИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» им. В. И.УЛЬЯНОВА (ЛЕНИНА)» (СПбГЭТУ)

ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И ИНФОРМАТИКИ

КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ

Пояснительная записка

к курсовому проекту

по дисциплине «Объектно-ориентированное программирование»

Выполнил:

студент гр. 9301

Соловьёв С.П.

Преподаватель

Доц. Новакова Н.Е.

Санкт-Петербург

2012

Оглавление

Цель курсового проекта3

Часть 14

Задание, Формализация, Листинг, Примеры, Выводы 4-8

Приложение 1 9

Часть 210

Задание, Формализация, Листинг, Результаты работы программы, Выводы 10-17

Приложение 2 18

Часть 320

Задание, Формализация, Листинг, Контрольные примеры, Выводы 20-32

Приложение 3 33

Часть 435

Задание, Формализация, Листинг, Контрольные примеры, Выводы 35-53

Приложение 4 54

Литература55

Цель курсового проекта:

Знакомство с принципами ООП и демонстрация владения ими на языке С#.

Курсовой проект состоит из 3 частей, каждая из которых представляет собой конкретное задание на разработку проекта его решения. В конечном итоге по проделанной работе нужно представить отчёт по всем частям, т.е. составление пояснительной записки к КП.

Ход выполнения работы (составления ПЗ):

  1. Для каждой части КП нужно описание задания и постановка конкретной задачи. Краткое описание использованного метода, если он указан в задании;

  2. Формализация задачи (блок-схема, диаграмма);

  3. Представление исполняемого кода программы (листинг);

  4. Демонстрация работы программы (контрольные примеры);

  5. Выводы по данной части КП;

  6. В приложение должно быть краткое руководство по эксплуатации программы (руководство пользователя);

  7. Общий список используемой литературы.

Часть 1

Задание (Вариант 11)

Создать иерархию классов мебель и стол. Переопределить вывод в поток и из потока, конструктор копирования через соответствующие функции базового класса.

Краткое описание условий задания

Задача сводится к созданию классов мебель и стол. Требуется реализовать на языке С# создание иерархий классов, а также особенности работы с оператором присваивания, переопределением потока и конструктором копирования.

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

Формализация задачи

Рис. 1.1 UMLдиаграмма

Класс Table сделан на основе класса Furniture с добавлением нового строкового поля, содержащего цвет.

Это и проиллюстрировано на диаграмме (Рис. 1.1)

Листинг

Program.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

namespace _2Face_CourseWork01

{

static class Program

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}

Furniture.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

/**

* Класс мебели

*/

class Furniture

{

private string name; // название

private int cost; // цена

public float height; // высота

public float width; // ширина

/**

* Установить название

*/

public void SetName(string name)

{

this.name = name;

}

/**

* Получить название

*/

public string GetName()

{

return this.name;

}

/**

* Установить цену

*/

public void SetCost( int cost )

{

this.cost = cost;

}

/**

* Получить цену

*/

public int GetCost()

{

return this.cost;

}

/**

* Просто конструктор

*/

public Furniture()

{

}

/**

* Конструктор копии

*/

public Furniture(Furniture f)

{

this.name = "Копия " + f.name;

this.cost = f.cost;

this.width = f.width;

this.height = f.height;

}

/**

* Перегрузка ToString()

*/

public override string ToString()

{

return "Name: " + this.GetName() + ", Cost: " + this.GetCost();

}

}

Листинг файла Table.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

/**

* Класс стола

*/

class Table: Furniture

{

// все поля наследуются из класса Furniture,

// в этом классе добаляем поле цвета - color.

private string color;

/**

* Задать цвет стола

*/

public void SetColor( string col )

{

this.color = col;

}

/**

* Получить цвет стола

*/

public string GetColor()

{

return this.color;

}

}