kotlin抽象クラスの初期化

1346 ワード

Javaを使ってAndroidを開発する過程で多くの匿名クラス、抽象クラスが使われていますが、kotlinではどのように表現されていますか?
//java  
ParamsString map = new ParamsString("user.base.login")
        .add("mobile", name)
        .add("password", password);

sendRequest(map, new HttpCallback() {

            @Override
            public void onSuccess(LoginBean o) {

            }

            @Override
            public void onErro(String erro) {
                super.onErro(erro);
            }
        });

次はkotlinの表現です.
//kotlin  
var map = ParamsString("user.base.login").add("mobile", name).add("password", pwd)

sendRequest(map, object : HttpCallback() {

            override fun onStart() {
                super.onStart()
            }

            override fun onSuccess(t: LoginBean?) {

            }

            override fun onErro(erro: String?) {

            }

        })


同様に、抽象クラスのインスタンスを取得する必要がある場合は、次のようにします.
var test = object : TimerTask() {
        override fun run() {
            
        }
}

kotlinでは匿名クラスの概念を除去し,オブジェクト式およびオブジェクト宣言という言い方を用いて要約した.さっきの抽象クラスの使用方法のようにオブジェクト式であり、var test = objectと理解できるが、このobjectは簡単なクラスではなく、親クラスがあり、TimerTaskから継承されている.