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 ...
随机推荐
- C#单元测试工具包:MvcContrib
C#单元测试工具包:MvcContrib http://t.cn/hE67d https://mvccontrib.codeplex.com/documentation MVC Contrib Doc ...
- Javascript模块化编程之Why
说到模块化编程,大家比较容易想到Java, C++等语言,感觉这事和Javascript沾不上一丁点边.虽说Javascript看上去好像同Java有莫大的关系,但那也只是一厢情愿,不过是挂羊头卖狗肉 ...
- 今天用C#做的一个小的注册练习
下边是实现的代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Dat ...
- python 调用shell命令的方法
在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出 ...
- c++对象内存布局的理解
我对c++对象内存布局的理解 引言 结合网上的一些资料,通过自己的一番摸索,得出了一点个人见解.现在写下来,希望与各位同学共同探讨,共同进步. 以下所有代码均是在VS2012下测试. 一个普通的基 ...
- AIX errpt命令说明
查看系统的错误记录 在系统运行时,一些系统错误会记录在errlog 中,其中有些错误还会在终端上显示.检查错误日志可用以下命令: # errpt IDENTIFIER TIMESTAM P T ...
- Java菜鸟学习笔记--面向对象篇(十八):对象转型&多态
Polymorphism[多态] 简述: 面向对象多态性指的是:发送消息给某个对象,让该对象自行决定响应何种行为. 通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用 多态的三个前提条件: 多 ...
- 安装使用yii-debug-toolbar,yii框架的调试插件
1github 下载yii-debug-toolbar 插件 地址:https://github.com/malyshev/yii-debug-toolbar 2. 假设yii的项目创建在了/expo ...
- java判断字符串是否为乱码
项目中有一个功能 在IE中GET方式提交会产生乱码 但有两个入口都会走这同一段代码 固不能直接转码,所以要进行判断传过来的该值是不是乱码 可用以下方式验证: java.nio.charset.Char ...
- JS错误:Uncaught SyntaxError: Unexpected token ILLEGAL
$('tbody', '#' + tableId).append('<tr onmouseover="this.style.backgroundColor=\'#eeeeee\'&qu ...