1,类:

类是TypeScript的核心,大部分代码都是写在类里面;

声明:class 类名{  属性; 方法(){};}

注意:类名首字母同样大写,但是方法不需要表明类型,直接写方法名加()即可;属性也不要声明类型;直接写属性名即可;

但是可以加上访问控制符public(类外类内都可访问),protected(类内和子类里可访问),private(类内访问);

用protected和private修饰的构造函数,不能被实例化;但是用protected修饰的可以被继承;

实例化:利用new关键字;

例: class Person{

  name;

  eat(){

    console.log("eating");

  }

}

var p1=new Person();

p1.name="zhangsna";

p1.eat();

构造函数:constructor,每次实例化时都会调用构造函数,类外只能用new可以调用;

class Person{

  name; //声明属性

  constructor(name : String){  //构造函数

    this.name=name;

  }

}

可以用另一种写法:

class Person{

  constructor(public name:String){

   //注意与constructor(name : String)不同,在构造函数处使用访问控制符要明确标明,加访问控制符是声明了name属性,不加则是没有声明name属性;

  }

  eat(){

    console.log(this.name);  //上边不加访问控制符是不会打出name的,会报错(因为不加访问控制符就是没声明name);

  }

 }

2,类的继承:extends和 super

子类继承了父类后,就会获得父类的所有属性和方法;

super的两个用法:都是调用父类的方法时用,分别是构造方法和非构造方法

当调用父类的构造方法时使用super;

class Employee extends Person{

  constructor (name : String ,code : String){

    super(name);

    this.code=code;

  }

  code:String;

  work(){

   super.eat();   //当调用父类的非构造方法时

    this.doWork();

  }

  private doWork(){ //将doWork()方法声明为private是为了在类外不能先调用,,防止不吃饭就干活,而是先让吃饭再干活;

  }

}

3,类有时可以当作接口使用:(因为类可以创建类型)

class Point{

  x : number;

  y : number;

}

interface Point3d extends Point{

  z : number;

}

let point3d : Point3d = {x : 1, y : 2 ,z : 3};

4,javascript中的函数,可以使用函数体外部的变量;当函数这么做时,我们说它‘捕获’了该变量;

let z = 100;

function addToZ(x , y){

  return x+y+z;

}

TypeScript 学习三 类的更多相关文章

  1. 【TypeScript】TypeScript 学习 3——类

    在 EcmaScript 6 中,我们将会拥有原生的类,而不是像现在通过原型链来实现.使用 TypeScript 我们能提前体验这一特性. 首先来看看一个简单的例子: class Greeter { ...

  2. PHP面向对象学习三 类的抽象方法和类

    一个类中至少有一个方法是抽象的,我们称之为抽象类. 所以如果定义抽象类首先定义抽象方法. 1.类中至少有一个抽象方法 2.抽象方法不允许有{ } 3.抽象方法前面必须要加abstract 抽象类的几个 ...

  3. TypeScript学习笔记(三):类

    类 在TypeScript中,类似于C#的结构,即一个文件中可以存在多个类,且文件名可以任意取,我们先看一个简单的类的示例. class Person { private name: string; ...

  4. Typescript 学习笔记五:类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  5. Typescript 学习笔记四:回忆ES5 中的类

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  6. Typescript 学习笔记三:函数

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  7. Typescript学习笔记(四)class 类

    typescript的类,与c#,java等语言的类类似.也是包含了一大部分的es6的实现.我会用最通俗的语言讲一下对coding有用的地方. class Greeter { greeting: st ...

  8. TypeScript学习笔记(四) - 类和接口

    本篇将介绍TypeScript里的类和接口. 与其他强类型语言类似,TypeScript遵循ECMAScript 2015标准,支持class类型,同时也增加支持interface类型. 一.类(cl ...

  9. TypeScript 学习一 参数,函数,析构表达式

    1,TypeScript是由谷歌开发的,并且新出的Angular2框架就是谷歌公司由TypeScript语言编写的,所以现在TypeScript是有微软和谷歌一起支持的: 2,TypeScript在j ...

随机推荐

  1. java入门学习(十二)运算语句 if switch

    这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...

  2. socket串口通信

    SocketServer: #include <arpa/inet.h> #include <stdio.h> #include <stdlib.h> #inclu ...

  3. sublime text 3 插件:package control

    sublime text 3安装package control import urllib.request,os,hashlib; h = 'eb2297e1a458f27d836c04bb0cbaf ...

  4. KVC和KVO实现监听容器类(数组等)的变化

    KVC,即Key-Value Coding,键值编码,简单地说,就是可以由key获取一个object对应的property.举个例子,如果一个对象object,它有一个属性item,你可以通过valu ...

  5. DevExpress 学习使用之 ComboBoxEdit

    往 StatusBar 上添加各种部件,似乎都被包装成了 barEditItem 的方式,其 Edit 属性就是具体的部件.以 ComboBoxEdit 为例,关于 ComboBoxEdit 的一些设 ...

  6. js操作iframe总结

    一 在父页面操作子页面   IE下操作IFrame内容的代码: document.frames["MyIFrame"].document.getElementById(" ...

  7. 【Yom框架】漫谈个人框架的设计之一:是IRepository还是IRepository<T>?

    前言                                                                                                   ...

  8. 核心C#

    核心C# 内容提要: 声明变量:变量的初始化和作用域:C#的预定义数据类型:在C#程序中使用条件语句.循环和跳转语句指定执行流:枚举:名称空间: Main()方法:基本命令行C#编译器选项:使用Sys ...

  9. css中display的属性解析

    display 属性规定元素应该生成的框的类型. 他有很多属性值,见如下表格: none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会 ...

  10. 图解JOIN

    阅读导航 一.概要 二.JOIN分类 三.JOIN分类详解 一.概要 JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操 ...