面向对象编程思想

一、什么是面向对象

  1. 所谓的面向对象,是一种编程思想,编程思路,代码的书写格式

二、对象的优点

   1. 对象中,可以定义并且存储多个数据单元以及所有JavaScript支持的数据类型

举例:

const obj = {age:18,name:'张三',fun:()=>{},arr:[1,2,3,]}

2. 对象中,调用具体数据很方便,调用数据时,不用考虑数据的顺序

  举例:

const obj1 =  {age:18,name:'张三'}
const obj2 =  {name:'张三',age:18}
//调用 name 和 age 都是不用考虑 数据单元的顺序
//只要键名/属性 输入正确就可以了

  3. 对象中,可以定义函数,还可以通过函数的this,方便的调用对象本身的数据

举例:

const obj1 =  {age:18,name:'张三',fun:function(){ console.log(this.name) }}
const obj2 =  {age:18,name:'张三',fun:function(){ console.log(this.name) }}
// 调用对象的数据,不用管对象名称 是什么,只要通过this,就可以指向这个对象, // obj1 中的 this,指向的就是obj1 obj2 中的 this,指向的就是obj2 // this.name 分别就是 obj1.name obj2.name

三、面向对象的基本思想

1. 基本思路就是,创建一个对象,给这个对象,添加上属性和属性值,还有函数等方法,之后通过操作这个对象,来完成需要的效果

举例:

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

四、面向对象编程的优点

  1. 优点与函数的优点类似 ---  高内聚 低耦合

    (1)  高内聚 : 将所有需要的程序,都定义封装在对象内对,象中存储所有需要的属性,所有需要的方法

    (2)  低耦合 : 尽量减少特殊程序的执行

五、面向对象编程的特点

  1. 抽象 --- 通过描述 对象 共有的特点(属性和属性值) , 来形容一个对象

           这个对象不是一个非常具体事例的内容,是一个抽象化的实例

  2. 封装 --- 将所有的程序,都定义在一个对象中

 

posted @ 2020-04-18 14:24  清风°  阅读(312)  评论(0编辑  收藏  举报