Tag: 二传手

getters()和setters()简化一个类

为什么我们完全需要使用这个集合,并在我们的类中使用私有属性获取方法? 在我们的程序过程中真的被使用了吗? 我们还可以让它在没有它的情况下工作吗(没有改变公有的私有属性)? 当我们使用set和get方法时,这是一个源代码的例子: public class Dog { private String dogName; private int dogAge; public Dog(String dogName, int dogAge) { this.dogName = dogName; this.dogAge = dogAge; } public String getDogName() { return dogName; } public void setDogName(String dogName) { this.dogName = dogName; } public int getDogAge() { return dogAge; } public void setDogAge(int dogAge) { […]

Kotlin:一个默认的ish setter,返回“this”

我知道这不是“严格的设计模式”等等等等,但… 在Kotlin中,有没有办法创建一个返回“ this ”的“default-ish”setter,就像 var foo:Bar = Something() set(f:Bar) { foo = f return this // Alas, that would not compile because Setter returns Unit } 当setter返回this时很方便,因为不需要声明一个Builder就可以创建一个Builder模式。 这只是短暂的做法: BlahBlah().setFoo(x).setFoo2(y)… 比 BlahBlah.Builder().setFoo(x)…. 要么 var b = BlahBlah() b.setFoo(x) b.setFoo2(y) … 管他呢 而且,如果一个二传手返回Unit ,为什么不this呢?

安装员在Kotlin超载

当试图定义一个接受可以用来构造一个属性的参数类型的setter时, class Buffer(buf: String) {} class Foo { var buffer: Buffer? = null set(value: String) { field = Buffer(value) } } 我收到错误消息: Setter参数类型必须等于属性的类型 那么Kotlin的做法是什么?