什么是面向对象
面向过程和面向对象
面向过程的缺点:程序员编写的代码都是一些变量和函数,随着程序功能的不断增加,变量和函数就会越来越多,此时容易遇到命名冲突的问题,由于各种功能的代码交织在一起,导致代码结构混乱,变得难以理解、维护和复用。
面向对象的优点:将同一类事物的操作代码封装成对象,将用到的变量和函数作为对象的属性和方法,然后通过对象去调用,这样可以使代码结构清晰,层次分明。
面向对象的特征
- 封装性
- 继承性
- 多态性
封装性
隐藏内部的实现细节,只对外开放操作接口。
接口就是对象的方法,无论对象的内部多么的复杂,用户只需要这些接口怎么使用即可。
封装的优势:不管一个对象内部的代码经过了多少次修改,只要不改变接口,就不会影响到使用这个对象时编写的代码。
继承性
继承是指一个对象继承另一个对象的成员,从而在不改变另一个对象的前提下进行扩展。
继承的优点:可以保持接口兼顾的前提下对功能进行扩展;增强了代码的复用性,为程序的修改和补充提供便利。
多态性
指同一个操作作用于不同的对象,会产生不同的执行结果。
JS被设计成一种弱类性语言(一个变量可以存储任意类型的数据),就是多态性的表现。
自定义对象
对象的定义
对象的定义是通过“{}”语法实现的,对象的成员以键值对的形式存放在{}中,多个成员之间使用逗号分隔。
“{}”语法又称为对象的字面量语法,是指在源代码中直接书写的一个表示数据和