一、编程思想
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();
}
网友评论