juan_gandhi: (Default)
[personal profile] juan_gandhi
package com.weird.java;

public interface Untitled1 {
  class XX {
    private String _name;
    public XX(String name) {
      _name = name;
    }
    public String getName() {
      return _name;
    }
  }
}

Date: 2005-02-28 04:30 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Видишь ли. В принципе, конечно, да - определяй в интерфейсе лицо, а имплементацию оставь имплементации.

Но имплементация имплементации рознь. Определение equals() относится не к имплементации, а к определению типа. Точно также для списков операция равенства определяется как равенство головы и хвоста. Во всём этом достаточно полиморфизма; просто один только интерфейс задаёт сигнатуры операций, но не задаёт аксиомы. Условия, то есть. Как задавать условия? В принципе, интерфейсы для этого достаточно гибки: в них можно задавать константы. Вот в константах-то я и пытаюсь держать аксиомы. Неправильно - но где такой язык, в котором я мог бы писать правильно? Сишарп? Камл? Хаскел? Я не знаю; скажите мне.

Date: 2005-02-28 04:42 am (UTC)
From: [identity profile] 109.livejournal.com
ну да, но не аксиомы только, а инварианты. "все Set-ы должны удовлетворять..." формализуй, чему должны удовлетворять все сеты - и (может быть) станет ясно, как это положить на язык.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

October 2025

S M T W T F S
    1 23 4
567891011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 6th, 2025 05:27 am
Powered by Dreamwidth Studios