JavaScript面向对象编程学习笔记---概念定义

1、专用术语

面向对象编程程序设计简称:“OOP”,在面向对象编程中常用到的概念有:对象、属性、方法、类、封装、聚合、重用与继承、多态。

2、什么是对象?

面向对象编程的重点就在于对象,而所谓对象实质上指的是“事物在程序设计语言中的表现形式”,对象可以是真实存在的也可以是抽象的概念。

3、什么是属性?什么是方法?

猫是一个对象,每只猫都有它的特征比如:颜色、体型,而这些静态的特征就是猫这个对象的属性。同样的,猫拥有行为动作的能力,比如:跑、睡觉,这些我们把它叫做猫这个对象的方法。

4、什么是类?

在现实世界中,我们会把拥有相似特征的事物进行归类比如:人类、鸟类等,同样的在程序世界中我们也将事物进行归类,所以类像是一个模板,是对一个事物的统称。而对象就是根据这个模板(类)创建的实体,所以我们常说实例化对象

5、什么是封装?

提到封装我们很容易想到包装,没错就是这个意思!我们常说封装一个对象,就是指将要创建的对象的属性和方法包装起来形成这个对象。封装在一定程度上有隐藏的意思,通常一个对象会有私有属性与方法和公有属性与方法,通常的做法是封装对象后会对外提供该对象的接口用于访问该对象。

6、什么是聚合?

聚合也叫组合,聚合就是:“将几个现有对象合并成一个新对象的过程”。复杂的问题让人难受,我们可以把它分解成若干个小问题,如果还是复杂就将复杂的小问题再次分解,解决之后再聚合起来。同样的一个对象如果过于复杂我们也能先将其分解为多个小对象来解决,最后再聚合起来

7、什么是继承?什么是JavaScript继承?

比如父类拥有:黑头发、会说话等公有属性与方法,为了实现对现有代码的重用,可以使用继承来使子类拥有这些父类中已有的公有属性与方法。继承通常指类与类之间的关系,但在ES6之前JavaScript没有类的概念,因此继承只能发生在对象之间。当B对象继承自A对象时,会往A对象中加入新的方法并将以加入新方法后的对象创建到新的指针指向B对象,以扩展被继承的老对象,这个工程称之为“B继承自A”或“B扩展自A”。子类继承自父类的方法可以重新定义即“覆写”,被调用时会使用子类定义的方法

8、什么是多态?

青蛙是一个对象,金鱼也是一个对象,青蛙会跳,金鱼会游,定义好对象及其方法后,我们能用青蛙对象调用“跳”这个方法,也能用金鱼对象调用“游”这个方法。然后青蛙和金鱼都在水池里,我们用水池对象继承了青蛙对象和金鱼对象,所以水池也能调用青蛙和金鱼的方法。类似这种不同对象通过相同方法调用来实现各种行为的能力,我们称之为多态。

你可能感兴趣的:(面向对象编程,javascript)