ES6——class(类)的介绍

32 篇文章 0 订阅
8 篇文章 0 订阅

ES6——class(类)的介绍

ES6提供了更接近于传统语言的写法,引入了class(类)这个概念,作为对象的模板,通过class关键字,可以让对象原型的写法更加清晰,更像面对对象编程的语法

  1. class声明类,constructor定义构造函数初始化
		class Phone1 {
            constructor(brand, price) {
                this.brand = brand;
                this.price = price;
            }
            call() {
                console.log('我能打电话');
            }
        }
        let onePlus = new Phone1('1+', 1999);
        console.log(onePlus);

在这里与构造函数区别一下

function Star(name,age,gender){
	this.name=name;
	this.age=age;
	this.gender=gender;
}
Star.prototype.talent=function(){
	console.log('我会演小品');
}
let bp1=new Star('jisoo',25,'女');
console.log(bp1);
Star.talent();
  1. extends继承父类,super调用父级构造方法
		class Phone {
            constructor(brand, price) {
                this.brand = brand;
                this.price = price;
            }
            call() {
                console.log('我能拍照');
            }
        }
        class SmartPhone extends Phone {//Phone为要继承的父类
            constructor(brand, price, color, size) {
                super(brand, price);//super里面的属性为继承父类的属性,新的属性在外面补充
                this.color = color;
                this.size = size;
            }
            photo() {
                console.log('我能拍照');
            }
        }
        let xiaomi = new SmartPhone('xiaomi', 1999, 'red', 15.6);
        console.log(xiaomi);
        xiaomi.call();
  1. static定义静态方法和属性
		/* class静态成员 */
        class Star {
            //静态属性
            static name = 'jisoo';
            static habit = function() {
                console.log("That's a pity");
            }
        }
        let jisoo = new Star();
        console.log(Star.name); //jisoo
        console.log(jisoo.name); //undefined
  1. 父类方法可以重写
		class Father {
            constructor(name, age) {
                this.name = name;
                this.age = age;
            }
            money() {
                console.log('我能赚钱');
            }
        }
        class Son extends Father {
            constructor(name, age, gender) {
                super(name, age);
                this.gender = gender;
            }
            money() {
                console.log('我也能赚钱');
            }
        }
        let son = new Son('jisoo', 25, '女');
        console.log(son);
        son.money();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值