【OOP】面向对象简述

面向对象的三大特点封装、继承和多态。
摘要由CSDN通过智能技术生成

什么是对象?什么是面向对象?OOP是什么意思?

对象的含义是指具体的某一个事物,即在现实生活中能够看得见摸得着的事物。 在面向对象程序设计中,对象所指的是计算机系统中的某一个成分。 在面向对象程序设计中,对象包含两个含义,其中一个是数据,另外一个是动作。 对象则是数据和动作的结合体。 对象不仅能够进行操作,同时还能够及时记录下操作结果。

面向对象(Object Oriented)是软件开发方法,一种编程范式,是一种思想。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。

面向对象的三大特点

封装、继承和多态。

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。(目的:将信息隐藏)

继承,可以使得子类具有父类的属性方法或者重新定义、追加属性和方法等。(目的:找到共性,精简代码,提高重用性)

多态,指为不同数据类型的实体提供统一的接口。(目的:使语言具有动态性,具有更好的通用性)


系统对象:

        本地对象(非静态):Object、Array、Date、Number、Boolean、String、Function、RegExp、Error

        内置对象(静态):Math

        宿主对象:DOM/BOM(浏览器提供)

 宿主环境:

JavaScript只能够寄生在某个具体的环境中才能够工作。

JavaScript运行环境一般都由宿主环境和执行期环境共同构成。其中宿主环境是由外壳程序生成的,如Web浏览器就是一个外壳程序,它提供了 一个可控制浏览器窗口的宿主环境。执行期环境则由嵌入到外壳程序中的JavaScript引擎(或称为JavaScript解释器)生成,在这个环境中JavaScript能够生成内置静态对象,初始化执行环境等。宿主环境一般会创建一套公共对象系统,这套对象系统对所有脚本语言开放,并允许它们自由访问。同时,宿主环境还会提供公共接口,用来装载不同的脚本语言引擎。这样我们可以在同一个宿主环境中装载不同的脚本引擎,并允许它们共享宿主对象。

  •  本地对象

ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。

  • 内置对象

ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。这意味着开发者不必明确实例化内置对象,它已被实例化了。同样是“独立于宿主环境”。根据定义我们似乎很难分清“内置对象”与“本地对象”的区别。而ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。

如此就可以理解了。内置对象是本地对象的一种。而其包含的两种对象中,Math对象我们经常用到,可Global对象是什么呢?

Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在,但大家要清楚,在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法。类似于isNaN()、parseInt()和parseFloat()方法等,看起来都是函数,而实际上,它们都是Global对象的方法。而且Global对象的方法还不止这些。

  • 宿主对象

由ECMAScript实现的宿主环境提供的对象,可以理解为:浏览器提供的对象。所有的BOM和DOM都是宿主对象。

  • 自定义对象

开发人员自己定义的对象。JS允许使用自定义对象,使JS应用及功能得到扩充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值