typescript类与继承
/*
1、vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2、第二步 任务 - 运行任务 监视tsconfig.json 2、typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean)
数字类型(number)
字符串类型(string)
数组类型(array)
元组类型(tuple)
枚举类型(enum) 任意类型(any)
null 和 undefined
void类型
never类型 3、typeScript中的函数 3.1、函数的定义
3.2、可选参数
3.3、默认参数
3.4、剩余参数
3.5、函数重载
3.6、箭头函数 es6
4、typeScript中的类 4.1 类的定义
4.2 继承
4.3 类里面的修饰符
4.4 静态属性 静态方法
4.5 抽象类 继承 多态 */ //1、ts中类的定义 /*
es5: function Person(name){ this.name=name; this.run=function(){ console.log(this.name)
}
} var p=new Person('张三'); p.run()
*/ /*
ts中定义类: class Person{ name:string; //属性 前面省略了public关键词 constructor(n:string){ //构造函数 实例化类的时候触发的方法
this.name=n;
} run():void{ alert(this.name);
} }
var p=new Person('张三'); p.run() */ /*
class Person{ name:string; constructor(name:string){ //构造函数 实例化类的时候触发的方法
this.name=name;
} getName():string{ return this.name;
}
setName(name:string):void{ this.name=name;
}
}
var p=new Person('张三'); alert(p.getName()); p.setName('李四'); alert(p.getName()); */ //2、ts中实现继承 extends、 super // class Person{ // name:string; // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// } // var w=new Web('李四');
// alert(w.run()); //ts中继承的探讨 父类的方法和子类的方法一致 // class Person{ // name:string; // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// run():string{ // return `${this.name}在运动-子类`
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四');
// // alert(w.run()); // // w.work(); // alert(w.run()); // 3 类里面的修饰符 typescript里面定义属性的时候给我们提供了 三种修饰符 /*
public :公有 在当前类里面、 子类 、类外面都可以访问
protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
private :私有 在当前类里面可以访问,子类、类外部都没法访问 属性如果不加修饰符 默认就是 公有 (public) */ //public :公有 在类里面、 子类 、类外面都可以访问 // class Person{ // public name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// run():string{ // return `${this.name}在运动-子类`
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四'); // w.work(); //类外部访问公有属性 // class Person{ // public name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // var p=new Person('哈哈哈'); // alert(p.name); //protected:保护类型 在类里面、子类里面可以访问 ,在类外部没法访问 // class Person{ // protected name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// var p=new Person('王五');
// alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四11'); // w.work(); // alert( w.run()); //类外外部没法访问保护类型的属性 // class Person{ // protected name:string; /*保护类型*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // var p=new Person('哈哈哈'); // alert(p.name); // private :私有 在类里面可以访问,子类、类外部都没法访问 // class Person{ // private name:string; /*私有*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // class Web extends Person{ // constructor(name:string){
// super(name)
// } // work(){ // console.log(`${this.name}在工作`)
// }
// } class Person{ private name:string; /*私有*/ constructor(name:string){
this.name=name;
} run():string{ return `${this.name}在运动`
}
} var p=new Person('哈哈哈'); alert(p.run());
typescript类与继承的更多相关文章
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript 之间转换
这是专门探索 JavaScript 及其所构建的组件的系列文章的第 15 篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript 是如何工作的:引擎,运行时和调用堆栈的概述! Jav ...
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
现在构建任何类型的软件项目最流行的方法这是使用类.在这篇文章中,探讨用 JavaScript 实现类的不同方法,以及如何构建类的结构.首先从深入研究原型工作原理,并分析在流行库中模拟基于类的继承的方法 ...
- How Javascript works (Javascript工作原理) (十五) 类和继承及 Babel 和 TypeScript 代码转换探秘
个人总结:读完这篇文章需要15分钟,文章主要讲解了Babel和TypeScript的工作原理,(例如对es6 类的转换,是将原始es6代码转换为es5代码,这些代码中包含着类似于 _classCall ...
- typescript - 4.es5与typescript的类与继承
ES5中的类与类的继承 (1)简单的类 function Person() { this.name = '张三'; this.age = 20; } var p = new Person(); ale ...
- TypeScript(5)类、继承、多态
前言 对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来 ...
- typescript 类(类的定义、继承、修饰符、抽象类)
代码: // 本节内容 // 1.类的定义 // 2.类的继承 // 3.访问修饰符 // 4.静态属性和静态方法 // 5.抽象类和多态 // js // function Person(name) ...
- 从C#到TypeScript - 类
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- typescript中类的继承
typescript中类的继承用到的是:extends和super 先看一下typescript中类的写法: class Demo{ //类的属性 name:string; age:number; / ...
- ES5中的类与继承
最近在重新复习TypeScript,看到类这块的时候自然会和ES5中的类写法进行对比加深印象. 发现ES5的类与继承一些细节还是挺多的,时间久了容易忘记,特此记录下. 首先是ES5的类定义,这没什么好 ...
随机推荐
- top-adx-apps
中国地区top adx和流量平台 12719 unity ios 12001 mopub ios 6599 unity android 5277 mobfox ios 3855 mopub andro ...
- mysqldump命令之常用选项
===============================================mysqldump常用选项-h, --host=name:服务器IP-u, --user=name:登录名 ...
- DevExpress开发win8风格界面
由于近期在对项目软件界面进行优化,找到了一款效果挺炫的插件,DevExpress15.2,可以制作win8可以滑动图标那个界面的效果,不多说,先贴图: (你没看错,这是用C#winform实现的) 可 ...
- 模拟实现strncpy,strncat,strncmp
1.模拟实现strncpy <1.>strncpy相比于strcpy增加了size_t参数可以实现最多拷贝的字节数<2.>(size_t不可以超出拷贝存放的内存大小)来保证不 ...
- requestAnimationFrame 持续动画效果
1. requestAnimationFrame 概述 requestAnimationFrame 是浏览器用于定时循环操作的一个API, 类似于setTimeout, 主要用途是按帧对网页进行重绘. ...
- preload 与 prefetch 的区别
Preload 浏览器会在遇到如下link标签时,立刻开始下载main.js(不阻塞parser),并放在内存中,但不会执行其中的JS语句. 只有当遇到script标签加载的也是main.js的时候, ...
- 笔记本centos 取消 关闭盖子自动挂起
修改 vi /etc/systemd/logind.conf HandleLidSwitch=ignore ( 操作盖子开关=忽略 ) 这样关闭盖子 就不会挂起了.
- 从Excel文件中读取内容
从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...
- java IO流(一)
一.IO流概述 1 什么是IO流 (流就是通道对象) IO - Input(输入) Output(输出) 在Java的IO中,流是一个很形象的概念,就像水流一样. 当程序需要读取数据的时候,就会开启一 ...
- C#:单元测试(VS2015)
根据VS2015的提示,仅支持在共有类或共有方法中支持创建单元测试.所以,如果我们要测试私有或是保护的类和方法,是要先将他们暂时设定成公有类型. 在VS2015中创建单元测试,只要在我们想测试的地方点 ...