Как это работает: Интерфейсы - C#
Формулировка задачи:
Я долго думал, и никак не улавливаю этого тонкого момента:
Пример
теперь возьмем к примеру
Интерфейсы позволяют определить некоторый функционал, не имеющий конкретной реализации. Затем этот функционал реализуют классы, применяющие данные интерфейсы.
Класс должен реализовать все методы и свойства интерфейса и его предков
interface IAccount
{
int CurrentSum { get; }
void Put(int sum);
}public interface IComparable
он реализует метод CompareTo(Object) я могу сделать свой интерфейс реализующий метод CompareTo(Object) но назвав его интерфейс IMamomparable ? я могу у него его метод CompareTo(Object) переименовать в MampareTo(Object) ? Получается ли тогда что по сути IComparable = моему IMamomparable ? Интерфейс - это просто некая абстракция без реализации указывающая какими свойствами должен будет обладать объект?Решение задачи: «Как это работает: Интерфейсы»
textual
Листинг программы
public int Compare(Object a, Object b) {
if (a == b) return 0;
if (a == null) return -1;
if (b == null) return 1;
if (m_compareInfo != null) {
String sa = a as String;
String sb = b as String;
if (sa != null && sb != null)
return m_compareInfo.Compare(sa, sb);
}
IComparable ia = a as IComparable; // а вот и IComparable
if (ia != null)
return ia.CompareTo(b);
IComparable ib = b as IComparable;
if (ib != null)
return -ib.CompareTo(a);
throw new ArgumentException(Environment.GetResourceString("Argument_ImplementIComparable"));
}