TypeScript 学习三 类
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 学习三 类的更多相关文章
- 【TypeScript】TypeScript 学习 3——类
在 EcmaScript 6 中,我们将会拥有原生的类,而不是像现在通过原型链来实现.使用 TypeScript 我们能提前体验这一特性. 首先来看看一个简单的例子: class Greeter { ...
- PHP面向对象学习三 类的抽象方法和类
一个类中至少有一个方法是抽象的,我们称之为抽象类. 所以如果定义抽象类首先定义抽象方法. 1.类中至少有一个抽象方法 2.抽象方法不允许有{ } 3.抽象方法前面必须要加abstract 抽象类的几个 ...
- TypeScript学习笔记(三):类
类 在TypeScript中,类似于C#的结构,即一个文件中可以存在多个类,且文件名可以任意取,我们先看一个简单的类的示例. class Person { private name: string; ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript学习笔记(四)class 类
typescript的类,与c#,java等语言的类类似.也是包含了一大部分的es6的实现.我会用最通俗的语言讲一下对coding有用的地方. class Greeter { greeting: st ...
- TypeScript学习笔记(四) - 类和接口
本篇将介绍TypeScript里的类和接口. 与其他强类型语言类似,TypeScript遵循ECMAScript 2015标准,支持class类型,同时也增加支持interface类型. 一.类(cl ...
- TypeScript 学习一 参数,函数,析构表达式
1,TypeScript是由谷歌开发的,并且新出的Angular2框架就是谷歌公司由TypeScript语言编写的,所以现在TypeScript是有微软和谷歌一起支持的: 2,TypeScript在j ...
随机推荐
- java中的输入流(Scanner),数据类型,运算符,switch,数组的用法
//java中创建包用package相当于C#的命名空间namespace,java中导入包用import相当于C#中引入命名空间usingimport java.util.*;//导入包,*代表导入 ...
- 简单的三层asp.net webForm使用Ninject实现Ioc
简单的三层asp.net webForm使用Ninject实现Ioc 在asp.net webform下使用Ninject的简单过程. 首先建立个项目,如下图,简单三层(PS:UI层要同时引用BLL. ...
- C#中几个经常犯的错误总汇
在我们平常编程中,时间久了有时候会形成一种习惯性的思维方式,形成固有的编程风格,但是有些地方是需要斟酌的,即使是一个很小的错误也可能会导致昂贵的代价,要学会善于总结,从错误中汲取教训,尽量不再犯同样错 ...
- D12
orz!=-=今天莫名爆人品..表示受到了惊吓.. 一下子从rank20-30+,突然间蹦到了rank3..=-=可怕.. 或许是因为T1有看过啊类似的啊..然后T3又被40指点了一下,T2打了个暴力 ...
- ASP.NET MVC 使用MSBuild生成的几个注意事项
做新项目,当时参考NopCommerce的结构,后台Nop.Admin是一个独立的Area Web Site,但部署的时候发现,使用一键发布,Admin Area会丢失. 研究了下NopCommerc ...
- [转]Native Java Bytecode Debugging without Source Code
link from:http://www.crowdstrike.com/blog/native-java-bytecode-debugging-without-source-code/index.h ...
- 项目做成jar包
项目做成jar包 方法一.在eclipse3.1中把项目做成jar包步骤. 打包前的工作. 在项目下创建一个文件夹,名为META-INF,再在其下创建文件MANIFEST.MF 编辑的内容如下: Ma ...
- 强悍的跨平台开源多媒体中心XBMC介绍
强悍的跨平台开源多媒体中心XBMC介绍 最近都在了解Android下的音视频,因为最近需要做一个多媒体中心的APP,其中了解了一个开源项目XMBC,一个十分强大的开源多媒体中心,而且可以应用在多个平台 ...
- VS调试的简单技巧
学习之路三十二:VS调试的简单技巧 这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步. 这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧 ...
- Servle中的会话管理
最近整理了下会话管理的相关笔记,以下做个总结: 一.会话管理(HttpSession) 1.Web服务器跟踪客户状态的四种方法: 1).使用Servlet API的Session机制(常用) 2).使 ...