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 开头的类或者方法就是抽象类或者抽象方法
提供其他类继承的基类,不能直接被实例化。通俗的来讲就是以下几点注意下,
一。如果抽象父类有抽象方法,那么继承的子类必须有抽象方法,不然不能被创建。
二。抽象类也不能直接实例化。
三。抽象方法必须放在抽象类。
 
 
 

最新文章

  1. Protocol Buffer搭建及示例
  2. [地图SkyLine二次开发]框架(2)
  3. SqlServerProxy的一些资料
  4. 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器
  5. FineReport构建银行金融租赁考核系统
  6. tar 只解压tar包中某个文件
  7. SQLServer 使用smb存放数据文件
  8. SGU 135.Drawing Lines
  9. 哈密顿圈~Lingo程序
  10. Day4-内置函数--未完待续,慢慢写
  11. 【WebGL入门】画一个旋转的cube
  12. 与其想当然的 overdesign,不如自己动手做个试验
  13. 【转】LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  14. 【vue】vue +element 实现批量删除
  15. hibernate框架学习之数据模型-POJO
  16. Loadrunner常见的乱码问题
  17. Git永久删除文件和历史记录
  18. phpcms 新建模块安装
  19. 【Selenium-WebDriver自学】Selenium网格化(十六)
  20. [译].Net 4.5 的五项强大新特性

热门文章

  1. linux上的那些查找的命令
  2. C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析
  3. hdu 6196 搜索+剪枝
  4. js 三大事件(鼠标.键盘.浏览器)
  5. Httprequest 添加Cookie
  6. JUC包下CountDownLatch学习笔记
  7. docker大概理解
  8. 最近研究了一个.NET的DHT网络搜索引擎,顺便重新整理了下引擎思路,供大家分享讨论下。
  9. HDU - 1520 树形DP入门题
  10. git 项目常用命令