对象(Object)
万物皆对象,在程序中可以吧对象看做是一个容器,它拥有各种属性和方法,它是面向对象编程的核心。
如下这里我们创造了一个人的空白对象,此时它就像新生儿一样,随着成长,会不断的添加新的属性和方法。
var person={};
属性
可以看做对象(事物)的特征,如人的身高,体重等。
这里给他添加一个名字(name)的属性
person.name='爱国'
方法
可以看做对象(事物)的行为或功能,如汽车可以行驶载物
//这里给一个玩的技能(方法)
person.pay=function(th){console.log("我会玩",th)};person.pay("足球");//输出我会玩足球。
类
在现实中类是具有某些相同特征,行为或功能事物的统称代词。
而在js中最开始是没有类的概念的,引入后js通过封装函数实现类。
在js中类负责实现自动生产加工我们需要的对象,而生产加工后的对象一般具有某些相同的属性或方法(这也是为啥要创建类的原因,在创建很多具有相同属性和方法的对象时,不用在代码中重复声明赋值的操作)。
封装
面向对象编程中很重要的一个步骤,对生产对象的方法(类)进行改进的步骤,使其生产出来的对象是我们更想要更安全的对象。
多态
在类(方法)生产对象时可通过传递不同的参数得到有特色差异的更能满足我们需要的对象。
继承
一般存在类与类之间,如动物类包含所有的鸟类,可以说鸟类继承于动物类。而在js中并不存在真正的类,所以继承通过prototype属性,在对象与对象间实现的。