JavaScript(三)面向对象编程(原型、类、基础)
JavaScript(三)面向对象编程(原型、类、基础)
面向对象编程
- 类:模板、原型对象
- 对象:具体的实例
原型继承
-
//通过__photo__来实现原型(类似与继承但又有点不同)
-
实例:
var Student={ name:"sxp", age:3, run:function () { console.log(this.name+"在跑"); } } var Bird={ fly:function () { console.log(this.name+"在飞"); } } var xiaoming={ name:"xiaoming" } //xiaoming的原型是Student xiaoming.__proto__=Student; console.log(xiaoming.name);//xiaoming console.log(xiaoming.age);//3 xiaoming.run();//xiaoming在跑 //xiaoming的原型是Bird xiaoming.__proto__=Bird; xiaoming.fly();
类继承(重要)
-
class继承,是在ES6引入的
-
//定义一个学生的类 class Student{ //构造器 constructor(name) { this.name=name; } //方法 hello(){ alert("hello"); } } //使用 var xiaoming=new Student("xiaoming"); xiaoming.hello();
继承
//定义一个学生的类
class Student{
//构造器
constructor(name) {
this.name=name;
}
//方法
hello(){
alert("hello");
}
}
//继承
class Xi extends Student{
constructor(name,grade) {
super(name);
this.grade=grade;
}
myGrade(){
alert(this.name+"::"+this.grade);
}
}
//使用
var xiaoming=new Xi("xiaoming",28);
xiaoming.myGrade();
原型链
-
__proto__
-
Object的原型对象是自己,原型对象的构造器是Object(一个环)