Особенность нисходящего проектирования с классами заключается в том, что вначале необходимо определить требуемые классы с некоторыми очевидными членами класса (поля, свойства, методы и т.д.), которые в дальнейшем будут уточняться и детализироваться. В нашем случае можно выделить два класса: класс неориентированный граф (NеorGraf), в котором будут сосредоточены характеристики графа и методы его обработки, и класс курсовой проект (Kurs_Proekt), состоящий из двух графов, методов, обеспечивающих связь с внешним текстовым файлом, перепись с файла на экран и основного метода, в котором данные вводятся с файла либо с формы, затем вызываются методы построения характеристик графов, их сравнения и печать результатов сравнения. Ниже приведены начальные структуры этих классов.
Класс NeorGraf
{
Поля целое nv – количество вершин
целое mr - количество ребер
целое diametr – характеристика графа - диаметр
целое[,] MS – матрица смежности
Свойства publicцелое n – количество вершин
public целое m - количество ребер
Методы publicNeorGraf():base(){}
}
Класс Kurs_Proekt
{
Поля NeorGraf gr1– первый граф
NeorGraf gr2– второй граф
String filename – внешнее имя текстового файла
StreamReader Potok-поток для считывания данных с
файла
Свойства