十二、class 与 extends

 ①、类的基本定义和生成实例

{
class Parent{
constructor(name='Lain'){ //定义构造函数
this.name = name;
}
}
let a = new Parent('Mayu'); //生成实例
console.log(a); //Parent {name: "Mayu"} //继承
class Child extends Parent{ //通过 关键字 extends 实现继承 }
let b = new Child();
console.log(b) //Child {name: "Lain"} 继承了Parent 并使用了Parent的默认值
}

②、通过 extends 实现继承

{
class Parent{
constructor(name='Lain'){
this.name = name;
}
}
//继承
class Child extends Parent{ //通过 关键字 extends 实现继承
constructor(name='child'){ //定义了子类的默认值
super(name); //使用 super方法传递参数
this.type='child'; // **在继承关系中 如果使用了super 一定要将 super方法放在第一行
}
}
let b = new Child();
console.log(b) //Child {name: "child", type: "child"} 继承了Parent 并使用了Child的默认值
}

③、class 中的 getter 和 setter

{
class Parent{
constructor(name='Lain'){
this.name = name;
}
get longName(){ // ** 这里是属性 而不是方法
return 'Hello '+this.name;
}
set longName(value){
this.name =value;
}
} let c = new Parent();
console.log('getter',c.longName); //getter Hello Lain
c.longName = 'abc';
console.log('setter',c.longName); //setter Hello abc
}

④、class 中的 静态方法

{
class Parent{
constructor(name='Lain'){
this.name = name;
} static tell(){ // 使用 关键字 static 定义静态方法
// *** 该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。
console.log('static');
}
}
Parent.tell(); //static
}

⑤、class 中的 静态属性

{
class Parent{
constructor(name='Lain'){
this.name = name;
} static tell(){
console.log('static');
}
}
Parent.type ='test'; // 在 class 定义完毕后 在 类 上直接定义 静态方法 而不是在实例上
console.log('静态属性',Parent.type); //静态属性 test
}

ES6新特性使用小结(五)的更多相关文章

  1. ES6新特性使用小结(三)

    九.数据类型 Symbol /* * Symbol 数据类型 概念: Symbol 提供一个独一无二的值 * */ { let a1 = Symbol(); let a2 = Symbol(); co ...

  2. ES6新特性使用小结(六)

    十三.promise 异步编程 ①.使用 promise 模拟异步操作 { //ES5 中的 callback 解决 异步操作问题 let ajax = function (callback) { c ...

  3. ES6新特性使用小结(四)

    十一.Proxy .Reflect ①.Proxy 的概念和常用方法 { let obj = { //1.定义原始数据对象 对用户不可见 time: '2017-09-20', name: 'net' ...

  4. ES6新特性使用小结(二)

    六.Array 扩展 /* * Array Api Array.of 数组的构建 * */ { let arr = Array.of(, , , , , ); console.log(arr); // ...

  5. ES6新特性使用小结(一)

    一.let const 命令 'use strict'; /*function test(){ //let a = 1; for(let i=1;i<3;i++){ console.log(i) ...

  6. ES6新特性概览

    本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony( ...

  7. ES6新特性之模板字符串

    ES6新特性概览  http://www.cnblogs.com/Wayou/p/es6_new_features.html 深入浅出ES6(四):模板字符串   http://www.infoq.c ...

  8. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

  9. ES6新特性:Proxy代理器

    ES6新特性:Proxy: 要使用的话, 直接在浏览器中执行即可, node和babel目前还没有Proxy的polyfill;,要使用的话,直接在浏览器中运行就好了, 浏览器的兼容性为:chrome ...

随机推荐

  1. 最近采集写的一个超简单实用的HTML解析类

    1. [文件] HtmlDom.php <?php$oldSetting = libxml_use_internal_errors( true ); libxml_clear_errors(); ...

  2. IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体

    前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...

  3. 使用jedisPool管理jedis,使用jedis操作redis

    ps:jedis是redis在java中的客户端操作工具 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iter ...

  4. Java_HTTP_01_HttpClient

    一. 二.参考文档 1. HttpClient官方文档 HttpClient官方文档中文翻译 1.HttpClient 4 实现文件下载 2.httpclient 上传文件.下载文件 3.httpcl ...

  5. 点分治Day2 动态树分治

    蒟蒻Ez3real冬令营爆炸之后滚回来更新blog... 我们看一道题 bzoj3924 ZJOI2015D1T1 幻想乡战略游戏 给一棵$n$个点的树$(n \leqslant 150000)$ 点 ...

  6. 洛谷 P2919 [USACO08NOV]守护农场Guarding the Farm

    题目描述 The farm has many hills upon which Farmer John would like to place guards to ensure the safety ...

  7. bzoj4176

    莫比乌斯反演 根据约数和个数公式 $ans = \sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{x|i}\sum_{y|j}{[gcd(i, j)==1]}$ 交换枚举顺序 $an ...

  8. mongodb主从复制配置

    dbpath=/home/mongodb/data logpath=/home/mongodb/log/mongodb.log logappend=true port= fork=true noaut ...

  9. Maven&nbsp;3&nbsp;入门&nbsp;--&nbsp;安装与配置

    Maven 3 入门 -- 安装与配置 Maven以及其Eclipse插件m2eclipse的安装 (本文参考了Maven实战) 检查JDK的安装以及环境变量的配置 打开cmd echo %Java_ ...

  10. QListWidget笔记

    1.头文件:#include <QListWidget> 2.继承自:QListView 3.基本代码: #include "mainwindow.h" #includ ...