Hacker News new | ask | show | jobs
by masklinn 5264 days ago
Bean-type setters, definitely.

On the other hand, you could have "setters" using the same naming convention which do a clone-and-replace (and return the new object), that would not violate immutability (and would be easier than building objects from scratch every time from the outside) e.g.

    Type setFoo(FooType foo) {
        return new Type(
            this.field0,
            this.field1,
            this.field2,
            foo, // bam
            this.field4);
    }
many functional languages have that behavior when manipulating "records".