【发布时间】:2014-06-08 10:25:03
【问题描述】:
我有一个朋友正在努力学习 OO 编程(在计算机科学课上),我认为主要是因为他不理解“类型”和实际“实例”之间的相对性/差异。 "理解数据的存储方式似乎是个问题。
他知道变量、控制结构和相当多的算法,但我认为理解范围和 Java 中定义对象的方式让他感到困惑。最令人困惑的部分是“模板”部分,其中定义了方法和变量,但由每个对象“拥有”。
正如这篇文章所表明的那样,我不擅长解释这个概念,即使我知道我是在向人们解释它。
所以我想知道的是,如何向他清楚地解释实例和类(作为一种类型,而不是实际数据)。我认为他知道基本概念,但不知道完全理解类型和数据的区别,以及数据是如何传递的。
更多信息:
这是他正在经历的那种困惑。我们正在覆盖 GridWorld 中的 Critter 对象(设计糟糕的 AP 测试对象)。无论如何,我们应该重新定义一些方法。
他最终会尝试将方法用作属性(很可能是拼写错误,但也因为 GetLocation() 之类的东西可能会令人困惑),或者他会尝试对错误的变量使用方法,或者不使用正确的变量类型。
我认为“Integer nameHere”和“nameHere Integer”之间的区别让他感到困惑。当他应该执行 nameHere.equals() 时,他可能会尝试执行 Integer.equals()。我向他展示了 API,但我认为这只是令人困惑。
你如何解释类型和变量之间的区别,但不仅如此,还要说明一个变量如何可以在其中包含其他变量,如何写
public getSomething()
{
return something;
}
您正在从您实例化的类中获取特定数据,哦,顺便说一下,每个对象都不同?
我怎样才能让他停止思考“全局”而开始思考“相对”? “亲戚”怎么解释?
【问题讨论】:
标签: java oop variables pointers object