JavaScript 面对对象知识点整理

什么是面对对象?

面对对象是一种编程思想,以人固有的思维方式用来解决程序中的逻辑思维,便于程序的维护管理。

创建一个自定义对象

在我们生活中,汽车使我们的不可缺少的交通工具,假设设定汽车的对象,汽车有品牌,颜色,排量等等属性

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();

多肽

多态实际上是不同对象作用与同一操作产生不同的效果。

发布了33 篇原创文章 · 获赞 24 · 访问量 5540

猜你喜欢

转载自blog.csdn.net/qq_39157944/article/details/99067748