
- •Оглавление
- •Часть 1
- •Контрольные примеры
- •Выводы по первой части курсового проекта:
- •Приложение 1
- •Часть 2 Задание (вариант 7-2,7):
- •Краткая справка по теме:
- •Формализация задачи:
- •Листинг программы
- •Результаты тестирования программы:
- •Выводы по второй части кп:
- •Приложение 2
- •Часть 3 Задание(вариант г42-2,г-42):
- •Краткая справка по заданию
- •Формализация задачи
- •Листинг программы:
- •Контрольные примеры
- •Выводы по третьей части курсового проекта:
- •Приложение 3
- •Часть 4 Задание
- •Формализация задачи:
- •Листинг программы
- •Контрольные примеры:
- •Выводы по 4-ой части курсового проекта:
- •Приложение 4
- •Литература
МИНОБР НАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» им. В. И.УЛЬЯНОВА (ЛЕНИНА)» (СПбГЭТУ)
ФАКУЛЬТЕТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ И ИНФОРМАТИКИ
КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ
Пояснительная записка
к курсовому проекту
по дисциплине «Объектно-ориентированное программирование»
Выполнил:
студент гр. 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
Задание (Вариант 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;
}
}