ES6----class

class

它是es6的语法,它的出现是为了替代ES5里的构造函数的(object.creat()可以创建对象,他这么做主要是为了和其他主流语言看齐,整个ES6可以看做是ES5的语法糖),

类有三部分组成:

构造器:constructor            构造器是在new这个类的时候才会执行,在这里可以对属性进行初始化, 

属性:

	实例属性   一般每个对象都不一样的定义为实例属性,

	静态属性    每个对象都一样的定义为静态属性 

方法:

	实例方法

	静态方法

不管是实例属性还是实例方法都要创建对象才能够访问,静态的东西更加的节省空间,因为它不用创建对象,

//例子:
	class Animal{
        name="juery"
        age="55"
        constructor(name,age){
            this.name = name;
            this.age = age; 
        }
	}                          这个就是对象的模板
	const a1 = new Animal()    这样就创建出来了一个对象
	//这里使用typeof时     Animal   是function    a1 是object
	//这里的属性分为两种:(实例就是创建一个对象)
	a.实例属性:
		a1 = '旺财'
   class Animal{
        name="juery"
        age="55"
        constructor(name,age){
            this.name = name;
            this.age = age; 
        }
	}      
     
	b.静态属性:
	 class Animal{
        static address = "地球"
	}      //静态属性必须使用类名去访问,
	 console.log(Animal.address)   只有通过这种方法才能够拿到静态属性, 
	 静态属性的作用:不需要创建对象就可以拿到这个属性,这样可以节省内存空间, 该类公共的属性可以定义成为静态属性,
	 //实例属性用对象来访问,静态属性通过类来访问
	 
	 静态方法:
	  class Animal{
       static sleep(food){
           console.log(food);
       }
	}     
    Animal.sleep('156')   //静态方法必须要通过类来调用
	 实例方法:
	const a1 =  class Animal{
        eat(food){
           console.log(food);
	}      
    a1.eat('123')    //这样就可以调用这个方法

class的继承

class Animal{
	eat(food){
        console.log(food);
	}
   	constructor(name,age){
        this.name = name;
        this.age = age;
   	}
}
class Dog extends Animal{
    //重写构造器
    constructor(name,age,color){
        super(name,age)   //如果是继承的则必须要有这个super,这个是语法规定,否则会报错,
        this.color = color; 
    }
} 
const a1 = new Animal('冈瑟三世',10);

console.log(a1) => Animal{name:"冈瑟三世",10}

const a2 = new Dog("冈瑟四世",3) => Dog{name:"冈瑟四世",3}  

a2.eat('松露')       子元素还可以调用父元素的方法;(注意如果子类有这个方法它就不会去调用父类的,他就会调用自己的)

继承的好处就是父类有的东西子类就可以直接拿来用,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值