zoukankan      html  css  js  c++  java
  • typeScript入门(二)函数与类

    3.ts的函数
    1)函数的返回值和参数
    在函数的定义需要定义其的返回值可以void,来表示没有返回值
    函数参数的定义,举个例子分析下吧
    name:string,age?:number=23
    冒号后面是参数的类型,加个?表示这个参数不是必传的,所以你就可以在这理解到,这个?如果某个参数写了,那后面都是需要加的,因为它不是必传的。在类型后面用个赋值方式就是给这个参数写一个默认参数。
    当参数很多的时候,你就用需要用三点运算符数组来接受参数。
    (...arr:any[]) 这样的话,都有的的参数都是存在arr数组中。
    2)函数的重载
    typescript中的重载:通过为同一个函数提供多个函数类型定义来试下多种功能的目的。
    例子:
    function getInfo(name:string):string;
    function getInfo(age:number):string;
    function getInfo(str:any):any{
      if(typeof str==='string'){
         return '我叫:'+str;
      }else{
        return '我的年龄是'+str;
      }
    }
    基本上看下就看明白了的,基本上和js的重载差不多。和java,.net之类的重载还是不一样的,毕竟基础还是JavaScript。
    4.函数的类
    1)举个普通的ts类的例子
    class Person{
      name:string; //属性 前面省略了public关键词
      constructor(n:string){ //构造函数 实例化类的时候触发的方法
        this.name=n;
      }
      run():void{  // 方法
        alert(this.name);
      }
    }
    2)继承
    class Son extends Person{
     constructor(name:string){
       super(name);  // 初始化父类的构造函数
     }
    }
    这样子类就继承的父类可继承的属性,方法。
    子类方法与父类方法同名时,子类方法覆盖父类。
    3)修饰符
    public :公有 在当前类里面、 子类 、类外面都可以访问
    protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
    private :私有 在当前类里面可以访问,子类、类外部都没法访问
    属性如果不加修饰符 默认就是 公有 (public)
    4)静态属性和静态方法
    static 开头定义的属性和方法就是静态属性和静态方法。
    需要注意的是,静态方法是不能直接调用类里面的属性,只能调用静态属性
    只有静态属性可以类名加’.’静态属性名直接获取。
    5)多态:父类定义一个方法不去实现,让继承它的子类去实现 每一个子类有不同的表现。多态属于继承。通俗的讲其实就是子类可以覆盖父类的方法。
    6)抽象类与抽象方法
    abstract 开头的类或者方法就是抽象类或者抽象方法
    提供其他类继承的基类,不能直接被实例化。通俗的来讲就是以下几点注意下,
    一。如果抽象父类有抽象方法,那么继承的子类必须有抽象方法,不然不能被创建。
    二。抽象类也不能直接实例化。
    三。抽象方法必须放在抽象类。
     
     
     
  • 相关阅读:
    spoj1812 Longest Common Substring II( 后缀自动机 )
    SPOJ8222 Substrings( 后缀自动机 + dp )
    BZOJ 2882: 工艺( 后缀自动机 )
    NOIP2015酱油记
    NOIP2015前
    BZOJ 1088: [SCOI2005]扫雷Mine( )
    BZOJ 1261: [SCOI2006]zh_tree( 区间dp )
    HDU4027 Can you answer these queries? 线段树
    ZOJ3261 Connections in Galaxy War 并查集
    POJ 1773 Parity game 带权并查集
  • 原文地址:https://www.cnblogs.com/tzzf/p/9757459.html
Copyright © 2011-2022 走看看