javaScript的面向对象和传统的面向对象不太一样,javascript是基于原型实现的,也就是每一个构造函数都有一个prototype属性指向一个原型对象,里面可以放公共的属性和方法,而构造函数的实例对象都有__proto__属性指向这个原型对象,而es6中的class写法也是基于原型的
为大余等地区用户提供了全套网页设计制作服务,及大余网站建设行业解决方案。主营业务为做网站、成都网站建设、大余网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
javascript是面向过程的,因为是解释性预言,按照页面加载一行一行的执行,但是可以模拟面向对象的代码写法
面向对象三大特征:封装、继承、多态
基于封装,引出了js如何创建对象(class、function、原型+闭包创建私有变量等)。这个java和js都差不多
基于继承,引出了js继承的一些知识点,如extends、super、重写重载、abstract(typescript)、interface(typescript)。js主要是基于原型继承,而java主要是基于extends
多态存在的三个必要条件。重写(继承)、重载、向上转型:其中重写,js支持。重载js不支持,可以通过额外处理来支持向上转型,因为js是弱类型语言,不支持数据类型,ts支持(编译阶段)
也就是说对于多态的支持,目前js只支持一种。
总的来说 js的面向对象支持还没有java语言那么丰富严谨,正是因为这些宽松语法,也让js变得更加有趣。但是面向对象oop的思想是一致的。因为oop思想不是固定语言的特性,而是一种思想。随着js不断的更新迭代,相信其语法特性也更加丰富和严谨。
后话:js目前的发展趋势,好像不在跟随传统语言的oop,有点往函数式编程的路上转向
是的,js是基于对象的,连他的function函数都是一种对象。所以是面向对象的!
我需要吃饭
面向过程:买菜,煮法,炒菜——吃饭
面向对象:订外卖——吃饭
由上例子,面向过程需要我们分析每个步骤的实现;而面向对象则是只需要持有某个对象,然后使用它即可。
采用oop(面向对象编程思想),可以让提高代码复用性,程序扩展和维护性提高,而且可以降低耦合性,使得程序更加灵活,更加易于维护。
如果满意,望采纳,谢谢!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款