面向对象编程

2020-11-15  本文已影响0人  笑该动人d

一、编程思想

1. 面向过程编程

2. 面向对象编程

二、什么是面向对象编程?

举个栗子:

有一天你想吃鱼香肉丝了,怎么办呢?你有两个选择
1、自己买材料,肉,鱼香肉丝调料,蒜苔,胡萝卜等等然后切菜切肉,开炒,盛到盘子里。
2、去饭店,张开嘴:老板!来一份鱼香肉丝!
看出来区别了吗?这就是1是面向过程,2是面向对象。

面向对象:直接找解决问题的对象,如果找不到对象,自己封装创建对象(面向过程)。
一个对象有特征(属性)和行为(方法)

三、创建对象

1. new Object

// 创建姓名是张三,年龄是22岁
  let obj1 = new Object();
  obj1.name = '张三';
  bj1.age = 22;
  obj1.say = function () {
     console.log('哈哈叫 ! 说话');
  }

2. 字面量

let obj1 = {
    name: '张三',
    age: 22,
     say: function () {
          console.log('哈哈叫 ! 说话');
     }
}

let obj2 = {
    name: '李四',
    age: 23,
     say: function () {
          console.log('哈哈叫 ! 说话');
     }
}

3. 工厂函数

function createObject(name, age) {
    return {
         name: name,
         age: age,
         say: function () {
           console.log('哈哈叫 ! 说话');
        }
   }
}
let obj1 = createObject('张三', 22);
let obj2 = createObject('李四', 23);

4. 构造函数

function Person(name, age) {
     // 特征,属性
     this.name = name;
     this.age = age;
     // 行为,方法
     this.say = function () {
         console.log('哈哈叫 ! 说话');
     }
 }

let obj1 = new Person('张三', 22);
let obj2 = new Person('李四', 23)

// 判断对象类型  typeof(基本数据类型)
if (obj1 instanceof Person) {
     console.log('是人');
} else {
     console.log();
}
注意:用构造函数的方法创建的对象,用new关键字去初始化;并且能用instanceof 去判断具体的对象类型
上一篇 下一篇

猜你喜欢

热点阅读