Re[2]: System.String нарушает Liskov substitution principle?
От: igna Россия  
Дата: 13.07.07 17:10
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Вы бы попробовали понять об чём этот LSP...


Беру пример отсюда (C++):

void g(Rectangle& r)
{
    r.SetWidth(5);
    r.SetHeight(4);
    assert(r.GetWidth() * r.GetHeight()) == 20);
}


Пример этот приведен (на 5-ой странице), чтобы показать, почему Square нельзя производить от Rectangle.

По аналогии пишу (C#):

void f(Object x1, Object x2)
{
    Debug.Assert(Object.ReferenceEquals(x1, x2) || !x1.Equals(x2));
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.