Juan-Carlos Gandhi (
juan_gandhi) wrote2005-02-24 06:39 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
concrete class in an interface
package com.weird.java;
public interface Untitled1 {
class XX {
private String _name;
public XX(String name) {
_name = name;
}
public String getName() {
return _name;
}
}
}
no subject
Но имплементация имплементации рознь. Определение equals() относится не к имплементации, а к определению типа. Точно также для списков операция равенства определяется как равенство головы и хвоста. Во всём этом достаточно полиморфизма; просто один только интерфейс задаёт сигнатуры операций, но не задаёт аксиомы. Условия, то есть. Как задавать условия? В принципе, интерфейсы для этого достаточно гибки: в них можно задавать константы. Вот в константах-то я и пытаюсь держать аксиомы. Неправильно - но где такой язык, в котором я мог бы писать правильно? Сишарп? Камл? Хаскел? Я не знаю; скажите мне.
no subject