zoukankan      html  css  js  c++  java
  • TypeScript 素描

    /*
    接口 C#写多了,接口也自然也是理解的。不过TypeScript中的接口与
    C#中的还是有些区别的
    接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约
    */
    
    
    //为方法的参数做契约
    interface IPersion {
        Name: string;
        Age: number;
    }
    function fun6(person: IPersion): void { };
    //参数必须满足接口 IPerson 多一个少一个都不行,属性名写错也不
    //行 Name 不可以写成  SName
    fun6({ Name: "jack", Age: 26, Other: 5 });
    
    //可空属性 ? 比如Name?
    //只读属性 readonly 比如  readonly Name; Nmae只会在初始化的时
    //候赋值 Arrary类型有个 ReadonlyArray
    
    //用接口来描述函数
    interface SearchFun {
        (source: string, subString: string): boolean;
    }
    let mySearch: SearchFun;
    //签名个数类型必须一致,但名称可以不一致
    mySearch = function (mysource: string, mysubString: string) {
        let result = mysource.search(mysubString);
        return result != -1;
    }
    
    //索引  除了数字还可以使用字符串做签名,如果同时使用数字和字符
    //串做索引,那么数字返回的类型必须是字符串的子类型或者是同类
    //型。也就两者的类型需要一致
    interface StringArrary {
        [index: number]: string;
    }
    //其实这是多余的
    let myArray: StringArrary;
    myArray = ["jack", "yuhan"];
    myArray[0];
    
    
    //实现接口,与C#一致了,面向接口的开发的好处相信大家都是知道的
    //TypeScript中使用 implements 关键字
    class Person implements IPersion {
        Name;
        Age;
    }
    
    
    //扩展接口
    interface Shape {
        Color: string;
    }
    
    interface Square extends Shape {
        SideLength: number;
    }
    
    let square = <Square>{};
    square.SideLength = 10;
    square.Color = "red";
    
    //接口继承类  真是乱-.-
  • 相关阅读:
    弹出窗口js
    c 中的字符串的一个问题
    2012年4月29日
    iOS开发之详解剪贴板 CocoaChina 苹果开发中文站 最热的iPhone开发社区 最热的苹果开发社区 最热的iPad开发社区 (2)
    自定义标签栏 ios
    使用委托在对象间传递信息
    NSNotificationCenter消息注册与撤销
    Xcode_免证书开发调试_ipad_程序开发
    文件签名
    iOS获取当前系统的相关信息 博客频道 CSDN.NET (3)
  • 原文地址:https://www.cnblogs.com/LiangSW/p/6252832.html
Copyright © 2011-2022 走看看