博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
class类
阅读量:6444 次
发布时间:2019-06-23

本文共 1425 字,大约阅读时间需要 4 分钟。

1.定义类

class Person {  // class打头 定义一个类  constructor(name,age,job){  // constructor 定义一个构造方法    this.name = name;    this.age = age;    this.job = job;    this.friend = ['Shelby','Court'];  }  sayName () {  // 声明一个方法    console.log(this.name);  }}let person = new Person('张三',26,'司机');person.sayName();

注:ES6中没有方法的重载,即同名函数,后面会覆盖掉前面的。

2.静态方法:(方法名前面加 static,可以用类名调用的方法,我们称之为静态方法)

class Point {  constructor(x,y){    this.x = x;  // 在类里面,this.xxx = xxx 必须要放在构造方法中    this.y = y;  }  static distance(a,b) { // 方法名前面加 static    const dx = a.x - b.y;    const dy = a.y - b.y;    return Math.sqrt(dx*dx + dy*dy);  // sqrt 开平方  }}let point1 = new Point(3,4);let point2 = new Point(18,24);let dis = Point.distance(point1,point2);  // 使用类名调用静态方法alert(dis);

 

3.ES6明确规定,Class内部只有静态方法,没有静态属性,但可以用另外方式解决(将类视为一个对象,给对象加参数)

class Foo {}Foo.prop =1; // 将类视为一个对象,给对象加参数Foo.prop // 1

//-------单例模式 (有且只有一个)

class Cache {  static getInstance () {    if(!Cache.instance){      Cache.instance = new Cache();    }    return Cache.instance;  } }var cache = Cache.getInstance();

实例:

4.继承:

class Animal {  constructor(name){    this.name = name;  }  speak() {    console.log(this.name + 'makes a noise');  }}class Dog extends Animal {  // 继承  只有单继承,没有多继承  speak() {  // 重写speak    console.log(this.name + 'barks');  }}let dog = new Dog('旺财');dog.speak();// 狗barks// 如果Dog里没有speak,则 狗 makes a noise

.

转载于:https://www.cnblogs.com/crazycode2/p/6675661.html

你可能感兴趣的文章
编译安装php及编译安装mysql常见错误总结及解决办法 网上找的
查看>>
第4周第1课:lvm、磁盘故障小案例
查看>>
AnyChat platform Core SDK V4.9 preview新版本即将发布了
查看>>
java 性能调试工具jprofiler安装和使用
查看>>
COM 互操作 - 第一部分”示例
查看>>
Oracle中随机抽取N条记录
查看>>
自动安装
查看>>
Javascript生成随机数
查看>>
java中关于this的学习笔记
查看>>
sql打印了,但数据库木有数据处理
查看>>
机器学习面试之各种混乱的熵(一)
查看>>
zabbix3.0.4安装部署文档(三)----添加监控主机
查看>>
抓鸡 抓服务器 1433 3306 全自动效率抓鸡
查看>>
Linux常用软件
查看>>
Java下数字类型的转换
查看>>
DNS原理及DNS服务器的建立(主从)
查看>>
过滤某一个时间段的日志----sed
查看>>
修改mysql数据库的用户名和密码
查看>>
Javascript数据类型
查看>>
修改centos等linux系统的hostname不重启生效
查看>>