zoukankan      html  css  js  c++  java
  • TypeScript入门知识五(面向对象特性二)

    1.泛型(generic)

    参数化的类型,一般用来限制集合的内容

    class Person {
      constructor(private name: string) {

      }

      work() {

      }
    }
    var worker: Array<Person> = [];//这里指定数组中只能放Person类创建的对象

    worker[0] = new Person("zhang san");

    2.接口interface

    用来建立某种代码约定,使得其他开发者在调用某个方法或者创建新的类时必须遵循接口所定义的代码约定。

    (一)//接口声明属性,
      interface IPerson {
        name: string;
        age: number;
      }
    //接口当做参数
      class Person {
        constructor(public config:IPerson) {

      }
      }
    //在实例化一个类的时候,必须传入参数
      var p1 = new Person({
        name: "zhang san",
        age: 18
      })

    (二)接口声明方法

    //接口声明属性,
      interface Animal {
        eat();
      }
    //实现接口关键字implements
      class Sheep implements Animal {
        eat() { //必须实现

        }
      }

    (三)模块(Module)

    模块可以帮助开发者将代码分割为可重用的单元。开发者可以自己决定将模块中的那些资源(类、方法、变量)暴露出去供外部使用,哪些资源只在模块内使用。一般一个模块就是一个文件

    模块主要是两个关键字 exprot (导出)  import(导入) 

    文件  a.ts

    export  function fun1 () {

      console.log("输出");

    }

    在文件 b.ts中引用

    import { fun1} from ".a";

    fun1();//调用

    每一步都是一个深刻的脚印
  • 相关阅读:
    洛谷 AT2000 Leftmost Ball
    洛谷 P1326 足球
    洛谷 P4868 Preprefix sum
    洛谷 P2596 [ZJOI2006]书架
    HDU 3415 Max Sum of Max-K-sub-sequence
    洛谷 P3901 数列找不同
    洛谷 P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀…
    洛谷 P5749 [IOI2019]排列鞋子
    验证码解决表单重复的原理
    session和浏览器之间的技术内幕
  • 原文地址:https://www.cnblogs.com/chzlh/p/7554713.html
Copyright © 2011-2022 走看看