Для благоприятной для наследования реализации проверьте решение Tal Cohen, , Как я Правильно Реализую равняние () Метод?
Сводка:
В его книге Эффективное Руководство Языка программирования Java (Addison-Wesley, 2001), Joshua Bloch утверждает, что "Нет просто никакого способа расширить instantiable класс и добавить аспект, в то время как сохранение равняется контракту". Tal не соглашается.
Его решение состоит в том, чтобы реализовать, равняется () путем называния другого несимметричного blindlyEquals () обоими путями. blindlyEquals () переопределяется подклассами, равняется (), наследован, и никогда не переопределяется.
Пример:
class Point {
private int x;
private int y;
protected boolean blindlyEquals(Object o) {
if (!(o instanceof Point))
return false;
Point p = (Point)o;
return (p.x == this.x && p.y == this.y);
}
public boolean equals(Object o) {
return (this.blindlyEquals(o) && o.blindlyEquals(this));
}
}
class ColorPoint extends Point {
private Color c;
protected boolean blindlyEquals(Object o) {
if (!(o instanceof ColorPoint))
return false;
ColorPoint cp = (ColorPoint)o;
return (super.blindlyEquals(cp) &&
cp.color == this.color);
}
}
Примечание, которое равняется () должно работать через иерархии наследования, если принцип замены Лисков должен быть удовлетворен.
Xubuntu производная из Ubuntu - в основном это - Ubuntu, предварительно установленный с рабочий стол Xfce.
Да, Ubuntu 13.10 является последним выпуском Ubuntu (выпущенный октябрь 2013, июль 2014 концов поддержки) . Существует также 12.04.4, LTS (Долговременная поддержка), так будет поддерживаться для более длинного (выпущенный февраль 2014, апрель 2017 концов поддержки)
, Ubuntu 14.04 является следующим выпуском Ubuntu, должного в апреле 2014. После, в июле, 13.10 с Концом, которым становятся, Жизни, и больше не будет поддерживаться. Для больше на выпусках Ubuntu, см. здесь .
Для обновления до следующей версии Вы можете с помощью эти инструкции , или эти инструкции , когда они обновляются, после 14.04 выпущен. Таким образом, когда 14.04 выпущен, можно обновить от 13,10 до 14,04.