【问题标题】:Does JavaScript have class relationships?JavaScript 有类关系吗?
【发布时间】:2014-01-03 03:01:22
【问题描述】:

在学校,我被告知 Java 具有类关系(is-a 和 has-a)。我需要显示项目的两种类型的关系,但是我决定使用 Java 来解析我收到的数据,然后使用网页来显示所述数据的可视化。那么我可以在 JavaScript 中显示 is-a 和 has-a 关系吗?

--编辑--

我已经有一个 Java 程序,它可以根据给定的数据创建一个对象。完成后,我将让程序打开一个网页,以可视化数据。这就是 JavaScript 的用武之地。这有意义吗?还是我这样做真的很难?

【问题讨论】:

  • Java != JavaScript。它们完全不相关(名称除外)。那么到底是哪一个?
  • 你可以使用任何你想要的东西来展示你想要的任何东西。
  • 这个问题似乎和 JavaScript 没什么关系。你能更详细地描述你的问题吗?
  • 请参阅此链接,它将完全用于您的疑问。 developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/…
  • 非常感谢ashokramcse。这有助于澄清很多事情。

标签: java javascript class object


【解决方案1】:

Javascript 并没有真正明确地与对象关系的 is, has a. 一起工作。您没有私有、受保护、公共等范围修饰符,尽管有几种方法可以模仿这些行为。对象仍然可以相互继承,并且您可以创建聚合。但这与 java 中的语法并不完全相同,而且一切都在 javascript 中的 Object 中,并且是弱类型的。有些事情不太一样,但你可以模拟一下。干杯。

【讨论】:

  • 并非所有内容都在 javascript 中公开。
  • 哦,你介意给我举个例子吗:)?这对我来说是一个学习的机会。
  • 在函数或控制流语句中声明 var 使它们成为私有的。 Here 是详细的描述。
  • 有一个东西叫closure,通过它可以实现private和public。通过这个tutorial你可能会有一个想法
  • 我已经知道小丑-.-'。但这是指隐式范围管理。
【解决方案2】:

JavaScript 具有原型关系,与 Java 中的类关系相似,但略有不同。

一个对象仍然可以从另一个对象继承,没有理由不能根据 has-a 和 is-a 关系查看对象。

两种对象模型之间的差异归结为如何定义关系以及 JavaScript 在类定义后添加函数方面提供的灵活性(这不一定是一件好事)。

【讨论】:

    猜你喜欢
    • 2011-02-14
    • 2018-03-21
    • 2013-10-22
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2020-02-16
    • 2015-03-17
    • 1970-01-01
    相关资源
    最近更新 更多