Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Результати виконання практичних завдань. Завдання 1. Реалізація для класів ПО інтерфейсів IComparable<T> та IComparer<T>





Завдання 1. Реалізація для класів ПО інтерфейсів IComparable<T> та IComparer<T>.

 

Реалізація інтерфейсу IComparable для класу NamedEntity (лістинг 1) забезпечеє впорядкування усіх іменованих об’єктів, які успадковують даний клас, за назвою.

 

Лістинг 1 – Реалізація інтерфейсу IComparable для класу NamedEntity

 

public abstract class NamedEntity: Entity,

IComparable<NamedEntity>, INameable {

 

/// <summary>

/// Порівнює екземпляр іменованої сутності

/// із заданим екземпляром на основі значень їх імен

/// (реалізація інтерфейсу IComparable<NamedEntity>)

/// </summary>

/// <param name="other"></param>

/// <returns></returns>

int IComparable<NamedEntity>.CompareTo(

NamedEntity other) {

return this.Name.CompareTo(other.Name);

}

 

}

 

Реалізація інтерфейсу IComparable для класу CountriesMembership (лістинг 2) забезпечеє впорядкування об’єктів класу, за назвою організації, у випадку, якщо назви організацій співпадають, то за назвою країни, а у випадку, якщо й імена країн співпадають, то за датою вступу.

 

Лістинг 2 – Реалізація інтерфейсу IComparable для класу CountriesMembership

 

/// <summary>

/// Порівнює екземпляр члена міжнародної організації

/// із заданим екземпляром на основі значень

/// імен міжнародної організації та країни

/// і значення дати вступу

/// (реалізація інтерфейсу

/// IComparable&lt;CountriesMembership&gt;)

/// </summary>

/// <param name="other"></param>

/// <returns></returns>

public int CompareTo(CountriesMembership other) {

return this.Organization.Name!= other.Organization.Name

? this.Organization.Name.CompareTo(

other.Organization.Name)

: this.Country.Name!= other.Country.Name

? this.Country.Name.CompareTo(other.Country.Name)

: this.AccessionDate.CompareTo(other.AccessionDate);

}

 

Реалізація інтерфейсу IComparer для класу UNDivisionObject (лістинг 3) забезпечеє можливість впорядкування об’єктів, які успадковують даний клас, за цифровим кодом.

 

Лістинг 3 – Реалізація інтерфейсу IComparer для класу UNDivisionObject

 

// Реалізація інтерфейсу IComparer для класу UNDivisionObject

public class NumericCodeComparer: Comparer<UNDivisionObject> {

 

public override int Compare(UNDivisionObject x,

UNDivisionObject y) {

return x.NumericCode.CompareTo(y.NumericCode);

}

}

 

Date: 2015-09-02; view: 298; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию