gpt4 book ai didi

java - 我怎样才能让 friend 停止思考全局并开始思考相对?

转载 作者:行者123 更新时间:2023-11-29 03:21:40 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.

7年前关闭。




Improve this question




我有一个 friend 正在努力学习 OO 编程(在计算机科学课上),我认为主要是因为他不理解“类型”和实际“实例”之间的相对性/差异。理解数据的存储方式似乎是一个问题。

他知道变量、控制结构和相当多的算法,但我认为理解范围和 Java 中定义对象的方式让他感到困惑。最令人困惑的部分是"template"部分,其中定义了方法和变量,但由每个对象“拥有”。

正如这篇文章所显示的那样,我在解释这个概念时很糟糕,即使我知道我正在向人们解释它。

所以我想知道的是,清楚地向他解释实例和类(作为一种类型,而不是实际数据)。 我认为他知道基本概念,但并不完全理解类型和数据之间的区别,以及数据是如何传递的。

更多信息:

这就是他正在经历的那种困惑。我们正在覆盖 GridWorld 中的 Critter 对象(设计糟糕的 AP 测试对象)。无论如何,我们应该重新定义一些方法。

他最终会尝试将方法用作属性(很可能是一个错字,但也因为像 GetLocation() 这样的东西可能会令人困惑),或者他会尝试对错误的变量使用方法,或者不使用正确的类型多变的。

“Integer nameHere”和“nameHere Integer”之间的区别对他来说是令人困惑的。当他应该执行 nameHere.equals() 时,他可能会尝试执行 Integer.equals()。我向他展示了 API,但我认为这只是令人困惑。

你如何解释类​​型和变量之间的区别,但不仅如此,还要说明一个变量如何可以有其他变量,当你写

public getSomething()
{
return something;
}

您正在从您实例化的类中获取特定数据,哦,顺便说一下,每个对象都不同吗?

我怎样才能让他停止思考“全局”并开始思考“相对”?你如何解释“亲戚”?

最佳答案

我喜欢用电视来解释 OOP 概念。有“电视”作为一个类(class),但你的房子里有你的电视。它可以做一些所有电视都可以做的事情,比如显示图片、打开和关闭等。

但它也有一个本地定义的范围,因为它是世界上电视类的一个实例。如果您在纽约市的电视上进入第 32 channel ,您会得到一件事。如果你在类加罗尔这样做,你会得到别的东西。进入 channel 就像调用电视的setChannel(int channel)方法。

对于使用这种现实世界对象的用户来说,他们以这种方式工作并不奇怪。我对这个特定问题的建议是停止使用抽象和技术语言来描述基本概念。计算机科学中有很多东西无法用现实世界中的物质对象来解释,但这不是其中之一。

关于java - 我怎样才能让 friend 停止思考全局并开始思考相对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com