面向对象编程
Pcjmy2022-01-25JavaScriptJavaScript
面向对象编程
什么是⾯向对象编程?
⾯向对象是⼀种编程思想,经常被拿来和⾯向过程⽐较。 其实说的简单点,⾯向过程关注的重点是动词,是分析出解决问题需要的步骤,然后编写函数实现每个步骤,最后依次调⽤函数。 ⽽⾯向对象关注的重点是主谓,是把构成问题的事物拆解为各个对象,⽽拆解出对象的⽬的也 不是为了实现某个步骤,⽽是为了描述这个事物在当前问题中的各种⾏为。
⾯向对象的特点:
- 封装:让使⽤对象的⼈不考虑内部实现,只考虑功能使⽤ 把内部的代码保护起来,只留出⼀些 API 接⼝供⽤户使⽤
- 继承:就是为了代码的复⽤,从⽗类上继承出⼀些⽅法和属性,⼦类也有⾃⼰的⼀些属性
- 多态:是不同对象作⽤于同⼀操作产⽣不同的效果。多态的思想实际上是把"想做什么"和"谁去做"分开
对象
对象(object)是"==键值对=="的集合,表示属性和值的==映射关系==
JavaScript 中,大括号表示对象
如果对象的属性键名不符合 JS 标识符命名规范,则这个键名必须用引号包裹
如果要删除某个对象的属性,需要使用==delete 操作符==
对象的方法
- 如果某个属性值是函数,则它也被称为对象的"方法"
- 使用"点语法"可以调用对象的方法
- 方法也是函数,只不过方法是对象的"函数属性",它需要用对象打点调用
对象的遍历
for (let k in obj) {
console.log("属性" + k + "的值是" + obj[k]);
}
继承
JavaScript 实现继承共 6 种方式:
- 原型链继承
- 借用构造函数继承
- 组合继承
- 原型式继承
- 寄生式继承
- 寄生组合式继承