面向对象编程

178 阅读1分钟

面向对象编程

 面向过程编程
=>按步骤解决问题编程的方式
=> 如: 实现购物车数量加一功能 
            1. 加按钮绑定事件 
            2. 找到点击的商品 
            3. 数量加一
            4. 持久化存储数据
            
    function test() { 
            let str = "javascript-html-css-" //1.定义一个数组存储分割字符串
            let arr = [] //2. 定义一个空字符串用于拼接将要存入数组的字符串 
            let line = '' //3.遍历字符串 
    for (let i = 0; i < str.length; i++) {
        let chars = str.charAt(i) if (chars != '-') {
            line += chars // 'javascript' 'html' 
            } else { 
            if (line !== '') { 
            arr.push(line) //[javascript,html] line = '' 
                } 
            } 
        } 
        console.log(arr);
    } test1()
  面向对象编程
  解决问题的一种方式
  现实生活中面向对象解决问题方式
      => 找解决问题的对象,调用其功能,解决问题
      => 如果对象不存在,自己创建对象,封装功能,解决问题
      注: 自己创建对象,封装功能
      
      
      

创建对象

 自己创建对象时

     构造函数方式创建对象 
         1.封装构造函数 
             1.1 构造函数名首字母大写 
             1.2 函数体,使用this定义对象属性和方法 
                 注:不要写其它类型的代码

             1.3 构造函数方法中的this指向当前对象
         2. 通过new语句调用构造函数创建对象
    function test1() { 
        let obj = new Object()
        obj.name = 'jack' 
        obj.age = 20 obj.say = function () {
            console.log('说话'); } 
        obj.say()
        }
        // test1()

工厂函数

function createPerson(name, age) {
        let person = { 
        name, 
        age, 
        say: function () {
            console.log(this.name + '说话'); 
         } 
     } 
     return person 
  } 
  // let p1 = createPerson('jack',20) 
  // p1.say() 
  // let p2 = createPerson('rose',21) 
  // p2.say()