logo search
C#, 320 стр

Классы элементов списка

Рассмотрим классы, описывающие элементы списков - элементы с одним и с двумя указателями:

using System;

namespace Shapes

{

/// <summary>

/// Класс Linkable(T)задает элементы списка,включающие:

/// информационное поле типа T - item

/// ссылку на элемент типа Linkable - next

/// Функции:

/// конструктор new: -> Linkable

/// запросы:

/// Get_Item: Linkable -> T

/// Get_Next: Linkable -> Linkable

/// процедуры:

/// Set_Item: Linkable*T -> Linkable

/// Set_Next: Linkable*Linkable -> Linkable

/// Роль типа T играет Figure

/// </summary>

public class Linkable

{

public Linkable()

{

item =null; next = null;

}

/// <summary>

/// закрытые атрибуты класса

/// </summary>

Figure item;

Linkable next;

/// <summary>

/// процедуры свойства для доступа к полям класса

/// </summary>

public Figure Item{

get{

return(item);

}

set{

item = value;

}

}

public Linkable Next{

get{

return(next);

}

set{

next = value;

}

}

}//class Linkable

/// <summary>

/// Класс TwoLinkable задает элементы с двумя ссылками

/// </summary>

public class TwoLinkable

{

public TwoLinkable()

{

prev = next = null;

}

/// <summary>

/// закрытые атрибуты класса

/// </summary>

TwoLinkable prev, next;

Figure item;

/// <summary>

/// процедуры свойства для доступа к полям класса

/// </summary>

public Figure Item

{

get

{

return(item);

}

set

{

item = value;

}

}

public TwoLinkable Next

{

get

{

return(next);

}

set

{

next = value;

}

}

public TwoLinkable Prev

{

get

{

return(prev);

}

set

{

prev = value;

}

}

}//class TwoLinkable

}