JS面向对象编程三大特征
JS面向对象的三大特征为封装、继承、多态。下面分别进行介绍:
封装
封装是指创建一个对象集中保存一个事物的属性与功能
继承
继承是指父亲的成员,孩子无需重复创建就可直接使用。继承实现了代码重用,节约内存
//被继承对象(父对象)
function Student(name){
this.name=name;
}
//原型对象
Student.prototype.intr=function(){
console.log(`I'm ${this.name}`)
}
//继承调用
var stu=new Student("xxx");
多态
多态表现在方法重载与方法重写
- 重载
重载是有多个同名函数,但参数列表不同,调用时根据参数的多少动态匹配函数执行
function xxx(){
if(arguments.length==0){
...
}else if(arguments.length==1){
...
}else{
...
}
}
- 重写
重写是子对象中定义与父对象完全相同的成员以此来覆盖父对象
var obj={
name:xxx,
age:12,
//在子对象中重写了toString方法,原型链上的toString方法则不会生效
toString:function(){
...
}
}