首页 > 其他分享 >Ts中的接口

Ts中的接口

时间:2023-06-22 16:12:04浏览次数:30  
标签:function name firstName Ts 接口 secondName string

接口的作用:在面向对象编程中,接口是一种规范的定义,它定义行为和动作的规范。 在程序设计里面,接口起到一定的限制和规范作用。接口定义某一些类所遵守的规范,接口不关心这些类的内部状态数据,也不关心类里面方法的实现细节 它只规定这批类中必须提供某些方法,提供的这些方法就可以满足某些需求。 ts的接口同时增加更灵活的接口类型,包括属性,函数,可索引和类等。

1.属性类接口

  // 对json的约束
    // function printLabel(label:string):void{
    //     console.log('printLable')
    // }
    // printLabel('hahah')
    // 自定义方法传入参数对json进行约束
    function printLable(labelInfo:{lable:string}):void{
        console.log('printLabel')
    }
    printLable({lable:'string'})

2.定义接口对参数进行约束

interface FullName{
        firstName:string;
        secondName:string
    }
    function printName(name:FullName){
        console.log(name.firstName+'---'+name.secondName)
    }
    var obj = {
        firstName:'zhang',
        secondName:'san'
    }
    printName(obj)

3.接口:可选属性

interface FullName{
        firstName:string;
        secondName?:string
        // 添加?号之后 secondName可传可不传
    }
    function getName(name:FullName){
        console.log(name.firstName+'---'+name.secondName)
    }
    var obj = {
        firstName:'zhang',
        secondName:'san'
    }
    getName(obj)

ajax接口实践
interface Config{
        type:string
        url:string
        data?:string
        dataType:string
    }
    function ajax(config:Config){
        var xhr = new XMLHttpRequest()
        xhr.open(config.type,config.url,true)
        xhr.send(config.data)
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4&&xhr.status==200){
                console.log('success')
            }
        }
    }
    ajax({
        type:'get'
        url:'www://http:baidu.com'
        dataType:'json'
    })

标签:function,name,firstName,Ts,接口,secondName,string
From: https://www.cnblogs.com/le-cheng/p/17497946.html

相关文章

  • Ts中的抽象类
    //01.抽象类是提供其他类继承的基类,不能直接被实例化//02.用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现//03.abstract抽象方法只能在抽象类中//04.抽象类和抽象方法用来定义标准:例如,要求Animal类的子类必须有eat方法abs......
  • TS中的泛型
    //1泛型的定义//泛型:在软件工程中,我们不仅要创建一致的定义良好的api,同时也要考虑可重用性。组件不仅能够支持当前的数据类型,还能支持未来的数据类型//在C#和Java这种语言中,可使用泛型来创建可重用的组件,一个组件支持多种类型的数据//2泛型函数//T表示泛型,具体什么类型调......
  • Delete vector contents and free up memory in C++
     DeletevectorcontentsandfreeupmemoryinC++Thispostwilldiscusshowtodeletethevector’scontentsandfreeupthememoryallocatedbythevectortostoreobjectsinC++.1.Using vector::clear functionWecanusethe vector::clear......
  • windows环境下,搭建RTSP视频推流服务器
    1.环境与配置1.1系统环境我这里使用的Windows1064位1.2下载RTSP服务器下载页面:https://github.com/aler9/rtsp-simple-server/releases这里,我们下载rtsp-simple-server_v0.19.1_windows_amd64.zip在百度网盘上下载也可以链接:https://pan.baidu.com/s/1FqMnAJWPo......
  • Android-kotlin-接口与多态的表现
    上一篇博客介绍了Android-Kotlin-抽象类与多态的表现;而这一篇博客专门介绍下接口与多态的表现1.选择包名,然后右键:2.选择Class类型,会有class:3.选择File类型,不会自动有class:5.选择interface,是创建接口:6.目录结构:1.定义手机充电接口标准规范InterfacePhone:packagecn.kotlin.kot......
  • Service内核原理(二):自带工程线的IntentService
    为什么要使用IntentService:IntentServiceisabaseclassfor{@linkService}sthathandleasynchronous*requests(expressedas{@linkIntent}s)ondemand.Clientssendrequests*through{@linkandroid.content.Context#startService(Intent)}calls;the*serviceis......
  • PostgreSQL 15 stats collector 在取消后是如何实现的原有功能的
    开头还是介绍一下群,如果感兴趣polardb,mongodb,mysql,postgresql,redis等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。在POSTGRESQL15有一个重要的功能去掉了statscollector在说为什么去掉这个statscollector的问题前,我们先得弄清出statscoll......
  • .net core IOC容器实现(二) -- GetService
    使用IOC容器最重要的两个步骤就是注入服务和从容器内获取服务实例。上一节聊的ServiceDescriptor其实就可以看成注入服务的步骤,这一节初步聊一聊获取服务实例的相关源码。GetServiceGetService方法是获取服务实例的入口,位于ServiceProvider这个类中publicobject?GetServ......
  • 配置AWStats的一些参考资料
    参考资料:AWStatslogfileanalyzer6.6Documentationhttp://www.aiview.com/cgi-bin/awstats/docs/awstats_faq.html#OLDLOG强大的日志分析工具AWStatshttp://yahoon.blog.51cto.com/13184/40392AWStats简介:Apache/WindowsIIS的日志分析工具的下载,安装,配置样例和使用(含......
  • Could not load file or assembly 'XXX' or one of its dependencies.
    今天我在用VS2010的时候,突然蓝屏,然后一个WEB程序执行就会报怪异的问题:Couldnotloadfileorassembly'XXX'oroneofitsdependencies.而且其他WEBProject不报任何错误。这个WEB程序我正在做调试,害得的一直以为这个程序出问题了。其实是VS2010的缓存文件除了问题。只需要:删除......