如何在Typescript实现内部类和接口

TS作为JS的超集,增加了面向对象的概念,但是在大部分教程都没有说清楚怎么在TS实现面向对象的各种形式,内部类、接口实现多态等。这里介绍类的多种实现方式,接口实现,内部类实现接口、静态内部类。


interface AdapterScanListener {
    onScan(adapter: String)
}

class ExternalClass {
    test() {
        //匿名内部类使用
        this.hello.hello()

        //内部类使用
        let inner = new this.InnerClass()
        inner.hi()
        
        //静态内部类使用
        let staticInner = new ExternalClass.StaticInnerClass()
        staticInner.hi()


        //内部类实现interface
        let impl = new this.AdapterScanListenerInnerImpl()
        impl.onScan('AdapterScanListenerInnerImpl')
    }

    /**
     * 匿名内部类实现
     */
    hello = {
        hello() {
            console.log('hello')
        }
    }

    /**
     * 内部类
     */
    InnerClass = class InnerClass {
        hi() {
            console.log('hi inner class')
        }
    }

    /**
     * 静态内部类
     */
    static StaticInnerClass = class InnerClass {
        hi() {
            console.log('hi static inner class')
        }
    }

    /**
     * 内部类实现interface
     */
    AdapterScanListenerInnerImpl = class Impl implements AdapterScanListener {
        onScan(adapter: String) {
            console.log(`onScan:${adapter}`)
        }
    }
}


let classTest = new ExternalClass()
classTest.test()

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容