首页 > 基于对象和面向对象的区别?

基于对象和面向对象的区别?

说javascript是基于对象的,那么基于对象和面向对象有什么区别?


面向对象一般来说我们认为有三大特征:封装、继承和多态。而基于对象可以认为只使用了封装这一个特征。


题主你的说法本身就有问题,javascript 是基于原型继承的面向对象编程语言,基于对象是什么鬼?哪里看来的?你看看害得多少人一本正经的胡作答,害人不浅呐!


基于对象就是操作文档对象 ,而面向对象就是一种编程思想,所谓面向对象编程的3大特性就是封装,继承,多态。你学了php,java,c# 或者c++就知道面向对象是什么了


一般的面向对象语言 中的类的概念 都是 一个 抽象的声明,当 new 出来一个对象的时候,就是依据 类的声明给造出来的,就像是模子里面刻出来的。
javascript是基于对象的,那么它所有的对象都是从原型对象继承而来,和原型模式大概相似,Javascript的动态特性,可以随时的给对象的原型添加方法或属性,然后new出来的对象就有了。

具体还是参考 MDN


基于对象 是指 这个编程语言有这个特征,是它的属性。
面向对象是指一种编程思想,一般指:面向函数,或面向对象,面向集合等等。
还有js 既可以面向对象,也可以面向函数。


我忘了在哪里看到过这样一个比喻:
基于对象,就是一个工程师建了一栋房子,然后其它的工程师按照这个房子的样子去建造其它的房子
面向对象,就是一个工程师再图纸上设计出一栋房子的样子,然后其它工程师按照这个图纸的设计去建造房子

也就是说:
基于对象是先有一个具体的对象,然后在这个对象的基础上创建新的对象
面向对象就是先有一个抽象的对象描述,然后以此为蓝本构建具体对象

【热门文章】
【热门文章】