JavaScript 面对对象知识点整理
面对对象
- 什么是面对对象?
- 创建一个自定义对象
- 调用自定义对象
- this关键字
- 封装
- 继承
- 多肽
什么是面对对象?
面对对象是一种编程思想,以人固有的思维方式用来解决程序中的逻辑思维,便于程序的维护管理。
创建一个自定义对象
在我们生活中,汽车使我们的不可缺少的交通工具,假设设定汽车的对象,汽车有品牌,颜色,排量等等属性
var obj = {
carName = 'BWM',
carColor = 'Black',
carTemp = 1.8,
}
当然汽车也有一些行为动作,譬如启动,加速,停车等等。
var obj = {
carName = 'BWM',
carColor = 'Black',
carTemp = 1.8,
carStar:function(){
console.log('启动');
},
carUpSpeed:function(){
console.log('加速');
},
carStop:function(){
console.log('停车');
}
}
调用自定义对象
创建了一个自定义的汽车对象,我们可以去调用它,调用分三种情况:
第一种,在自定义对象外面调用对象
// 获取汽车对象的品牌
obj.carName;
// 获取汽车的启动方法
obj.carStar();
第二种,在自定义对象里面调用对象
// 获取汽车对象的品牌
this.carName;
// 获取汽车的启动方法
this.carStar();
第三种,在内置对象里调用对象
document.onkeydown=function(event){
// 获取汽车对象的品牌
obj.carName;
// 获取汽车的启动方法
obj.carStar();
}
this关键字
以上三种方式用到了 this
关键字,this
指向的是调用该函数的对象。
在第二种自定义对象 obj
里面调用对象,此时 this
指向 自定义对象 obj
,
在第三种在内置对象 document
里调用对象,此时 this
指向 内置对象 document
封装
封装,顾名思义就是将事物封装成类,隐藏事物的属性和方法的实现细节,仅对外公开接口。
譬如异常汽车类,将品牌,颜色,排量,启动,加速,停车等等封装成类。
// 申明父类
var Car = function(Name,Color,Temp){
this.Name = Name;
this.Color = Color;
this.Temp = Temp;
}
// 为父类添加共有属性
Car.prototype.shopName = '旗舰店',
继承
继承就是子类可以使用父类的所有功能,样就可以节约内存,减少代码累赘。
// 申明子类
var Carinfo = function(){
this.intr(){
console.log(`this is Son`);
}
}
// 继承父类
Carinfo.prototype = new Car();
多肽
多态实际上是不同对象作用与同一操作产生不同的效果。
还没有评论,来说两句吧...