基于对象和面向对象的编程语言到底有什么区别

区别是:Js是基于原型的面向对象(prototype-based),而Java,C++这种则是基于类的面向对象(class-based),它们都是面向对象语言。基于原型的面向对象是没有类的,只有对象。没有类自然也没有继承,但是依然可以多态,只不过不是由基类约束,而是直接通过名字查找来多态。

基于对象和面向对象的编程语言到底有什么区别-Worktile社区

Js是基于原型的面向对象(prototype-based),而Java,C++这种则是基于类的面向对象(class-based),它们都是面向对象语言。

基于原型的面向对象是没有类的,只有对象,js通过原型来做组合(js里什么class,构造器,new等等全是语法糖,这些js本来没有的,后面为了给某些习惯class-based语言的使用者加的,本质依然跟原来一样)。

没有类自然也没有继承,但是依然可以多态,只不过不是由基类约束,而是直接通过名字查找来多态,这当然也是一种面向对象的多态,对象的里存了啥那调的就是啥,找不到就去原型里找,不是要看所谓对象的“类型“,而是看的是对象本身的内容,多态是很自然的嵌入到语言机制里的。比如a.f和b.f分别赋值两个不同的函数,然后如果a和b作为传给同一个函数做参数时,假设函数里的形参叫c,那么c.f()就会调用不同的f,如果对象里查不到f,还会去原型里查,这就是很自然的多态。

所以事实上网上很多的拿js去模拟Java,搞什么所谓的继承,接口,硬是要在js里搞个基类然后继承重写,美其名曰用js实现了“面向对象的多态”,真的是蛮好笑的。楼上竟然还有回答说js以前不支持多态,真就必须要继承重写才叫多态呗,哪天真的要把js踢出oop阵营了。

延伸阅读:

什么是编程语言?

编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。

文章标题:基于对象和面向对象的编程语言到底有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38599

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月17日 上午2:32
下一篇 2023年2月17日 上午2:34

相关推荐

  • 编程语言中编译型和解释型的区别

    区别是:1、编译型与解释型,两者各有利弊;2、编译性语言不如解释性语言跨平台性好。编译型语言由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序等时都采用它。解释性语言在运行程序的时候才翻译,效率比较低。 1、编译型与解释型,两者各有利弊 编译型语言由于程序执行速度快,同等…

    2023年2月20日
    86700
  • 如何成为一个好的项目经理

    成为一个好的项目经理需要的能力:1、目标定位能力;2、项目管理知识;3、通用管理知识;4、相关专业知识;5、计划能力;6、组织能力;7、环境适应及人际关系能力;8、责任心。其中,目标定位能力指项目为了达到预期的结果而必须完成的一些指标。 1、目标定位能力 指项目为了达到预期的结果而必须完成一些指标,…

    2023年1月1日
    48400
  • 工程项目中管理费如何控制

    工程项目的管理费用控制是一个复杂的财务策略问题,且对于工程项目的整体成本控制和利润最大化具有重要影响。精确预算编制、细化成本分析、严格采购管理、有效的现场管理、动态的财务监控、以及全员成本意识的培养是实现管理费用控制的关键步骤。在这些步骤中,精确预算编制尤其重要,它涉及到对项目工程量的准确预测、单价…

    2024年4月11日
    8500
  • 哪个项目管理软件好用

    项目管理软件根据个人或团队需求针对性选择。1、易用性与可定制性、2、任务分配与调度、3、协作与交流、4、集成与兼容性、5、报告与分析。在易用性与可定制性方面,软件需要提供直观的用户界面和灵活的定制选项,使团队成员能够迅速上手并根据项目需求调整功能。 1、易用性与可定制性详述:选择合适的项目管理软件时…

    2024年1月8日
    18000
  • 项目收管理费中标方如何管控

    在项目收取管理费中,标方(指中标的供应商或承包商)如何管控是一个需要专注于提高效率、减少不必要开支,并保持项目质量的关键议题。项目管理费的管控涉及到多个方面,包括但不限于预算管理、合同管理、成本效益分析、供应链管理、风险管理等。合同管理是所有这些环节中尤为关键的一环,因为它直接影响到项目的成本控制和…

    2024年4月11日
    4900
  • OKR是否需要持续调整

    OKR(Objectives and Key Results)的持续调整在实现组织或个人目标方面起着关键作用。本文主要阐述以下几个方面:一、为何需要持续调整OKR;二、OKR调整的时机和频率;三、如何有效进行OKR调整;四、持续调整带来的益处。持续调整能确保OKR与实际情况和战略目标保持一致,有助于…

    2023年9月4日
    34800
  • devops中ops是什么

    DEVOPS中OPS是什么? 在这一领域,OPS指代操作(Operations),是围绕着软件交付和基础设施管理的一系列活动、过程与技术。OPS的重点在于提高软件交付的速度与质量、确保应用程序的稳定性和高可用性,以及实现自动化的基础设施管理和配置。本篇旨在深入探讨OPS的核心要素,以及它如何在促进敏…

    2024年3月26日
    9800
  • 云原生应用的多云策略是什么

    云原生应用的多云策略是一种将应用程序部署和管理在多个云服务提供商平台上的方法,以实现更高的可用性、灵活性和可扩展性。云原生应用的多云策略需要考虑云服务提供商选择、跨云网络构建、容器编排和自动化部署、微服务架构和无服务器计算、跨云数据备份和恢复、安全性和合规性以及监控和管理等方面。通过实施多云策略,可以提高应用程序的可用性、灵活性和可扩展性,同时降低成本和管理复杂性。

    2023年10月27日
    34800
  • 如何进行项目优化管理工作

    进行项目优化管理工作的关键在于制定详尽的项目计划、持续的风险管理、有效的资源分配、和建立良好的沟通机制。在这四个方面,有效的资源分配 显得尤为关键,因为它直接影响项目的成本和进度,同时也是提升项目效率的重要手段。有效的资源分配包括对人员、资金、设备等资源的合理安排和使用,确保这些资源在项目中被有效利…

    2024年4月11日
    5900
  • 如何在项目中管理不同利益相关者的期望

    在项目管理中,协调不同利益相关者的期望是实现项目成功的关键。1、识别利益相关者:首要步骤为识别出所有利益相关者,明确他们对项目的影响力和期望。2、沟通与协商:项目成功依赖于与利益相关者的持续沟通和协商,以确保他们的需求得到足够的重视和解决方案。3、设定明确的目标与界限:为项目设定清晰、可量化的目标,…

    2023年11月15日
    48900

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部