ES6相关知识--class

class特点是:

必须包含constructor;属性添加到constructor中;class的本质仍然是构造函数;this指向class的实例

定义一个book类名:其中构造函数必须有,因为要开辟内存空间。

class Book {
        //构造函数    一定有,析构函数不一定有
        constructor(name, author, type) {
            this.name = name;
            this.author = author;
            this.type = type;
        }
        // 方法  (原型方法)  实例对象
        sale(price) {
            console.log(this.name + "的售价是:" + price);
        }
        // 静态方法
        static myStyle() {
            console.log("翻书");
        }
    }
// 静态方法需要使用类名调用
    Book.myStyle();

继承:

 // 类:圆    一个ctx代表一个画布

    class Circle {

        constructor(x, y, r) {

            this.x = x;

            this.y = y;

            this.r = r;

        }

        static draw(ctx) {

            ctx.beginPath();

            ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2, false);

            ctx.closePath();

            ctx.stroke();

        }

    }

    Circle.draw();

    // 子类:彩色圆

    class ColorfulCircle extends Circle {

        constructor(x, y, r, color) {

            // 实现父级的 constructor

            super(x, y, r);

            // 实现自己的属性

            this.color = color;

        }

        //如果重名,子类会重写继承来的父类方法

        draw(ctx) {

            ctx.beginPath();

            ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2, false);

            ctx.closePath();

            ctx.strokeStyle = this.color;

            ctx.stroke();

        }

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值