编程语言对对面向对象的实现主流的有两种方式:基于类的面向对象和基于原型的面向对象。
不管以什么方式实现,都具有面向对象的三大特征:
封装
也就是把客观事物封装成抽象的类或具体的对象,并且类或对象可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承
可以让某个类型的对象获得另一个类型的对象的属性的方式
多态
不同实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。
2.1基于类的面向对象
典型的语言:Java、C# pthon c++等
对象(object)依靠 类(class)来产生
2.2 基于原型的面向对象
典型的语言:JavaScript
对象(object)则是依靠 构造器(constructor)利用 原型(prototype)构造出来的