一、编程思想
面向过程:所有事情都是亲力亲为,注重的是过程
面向对象:提出需求,找对象,对象解决,注重的是结果
创建一个对象,给这个对象,添加上属性和属性值,还有函数等方法,之后通过操作这个对象,来完成需要的效果
简单理解:
之前是将程序,封装在函数内,设定参数和返回值
现在是将程序,封装在对象内,设定对象的属性和方法
面向对象的特征:封装,继承,多态
二、创建对象的方式:
1,调用系统Obeject()---------->创建出来的对象都是Obeject类型的
2,字面量方式{}---------------->只能创建一个对象(一次只能创建一个)
3,工厂模式创建对象----------->自定义构造函数(推荐使用)
// 先通过一个函数的方法,来创建对象
function createObj(){
// 创建对象
const obj = {};
// 给对象添加属性和属性值
obj.name = '张三';
obj.age = 18;
obj.addr = '北京';
obj.sex = '男';
// 给对象添加方法
obj.funNameAge = function(){
console.log(this.name , this.age);
}
obj.funNameAddr = function(){
console.log(this.name , this.addr);
}
obj.funSexAge = function(){
console.log(this.sex , this.age);
}
obj.funAll = function(){
console.log(this.name, this.sex , this.age, this.addr);
}
// 返回这个创建好的对象
return obj;
}
// 调用函数,函数创建对象,并且作为返回值
// 变量中存储的就是函数创建的对象
const obj = createObj();
// 可以通过调用obj中存储的对方的方法,来实现功能
obj.funAll();
2、面向对象编程的优点(与函数的优点类似)
高内聚 低耦合
高内聚 : 将所有需要的程序,都定义封装在对象内,对象中存储所有需要的属性,所有需要的方法
低耦合 : 尽量减少特殊程序的执行
3、面向对象编程的特点
抽象 — 通过描述 对象 共有的特点(属性和属性值) , 来形容一个对象,这个对象不是一个非常具体事例的内容,是一个抽象化的实例
封装 — 将所有的程序,都定义在一个对象中