总的来说,我认为我可以很好地传达大多数与编程相关的概念 然而,我仍然觉得很难总结字段,类和包之间的关系。
如何总结“字段”,“类”和“包”以及“他们的关系”?
答案 0 :(得分:2)
自从我教C,C ++和Java以来,我遇到了类似的问题。 这是我的工作:
首先,我将包分开并最后解释。
理想情况下,在我看来,学生应首先了解ADT,最好是C语言。他们有结构,他们对其进行单独的操作。字段只是结构中的“槽”,您甚至可以显示内存布局来演示它。函数是对这些结构进行操作的独立实体。
然后你转换到类,方法和字段,并在本质上表明(除了继承和一些轶事)它们在很多方面都是ADT的语法糖。
如果需要,您可以教授对象布局,继承和虚拟表(根据我的经验,它可以帮助学生更好地理解继承以查看内存布局)。
最后,您将了解如何组织课程的主题。如果你教C ++,你实际上没有包,但你可以解释命名空间并讨论组织和单独的编译。
如果您使用的是Java,那么您只需解释这些是同一名称空间中的类集合,它们具有特殊的访问规则并显示它们。无论如何,Java中的包系统都是破碎的,所以我通常会经历模式(例如,将UI包与C分离)。
总结:类构成了对象的基础,这些对象是几个字段的内存排列以及对它们进行操作的相关方法。包是具有一个访问限制机制的类的集合。
答案 1 :(得分:1)
我描述的方式是:
因此字段是对象的实现细节,其类存在于包中以保证唯一名称并提供类似库的模块化。
答案 2 :(得分:1)
根据您尝试解释的人的年龄,可以使用一个简单的类比:税表。税表(例如1040EZ)就像一个类,表单中填写的每个空格都是表单的一个字段。税表甚至包含有关如何对字段中的信息进行操作的说明,就像类包括要对字段中的数据执行的成员函数一样。正如一套完整的税表不仅包括主要税表,还包括可能需要填写的其他税表(例如附加计划),因此包不仅包含主类,还包含其他可能需要交互的类用。
答案 3 :(得分:1)
字段是属于该类的变量,或属于该类的对象实例的变量。局部变量和字段之间的区别在于字段的范围更广。
类是用户定义数据类型的模板。类比原始数据类型更先进,因为它们同时具有状态和行为。
包用于对类进行分组并解决潜在的命名冲突。对于多个开发人员和公开可用的代码库,我们中的一些人很可能会将我们的类命名为相同(Math,LinkedList,FileUtils等)。具有前缀类名的唯一包名允许编译器(和其他开发人员)确定您打算使用哪个类。
答案 4 :(得分:1)
有趣的是,您在不提及对象的情况下解决了OO编程问题。我想这可能是你的问题。
这是我使用的。
对象就是事物。它们具有属性(测量,存在状态等)。属性可以称为字段。 [我经常使用我在教室里找到的东西 - 杯子,标记,帽子,外套等来说明这一点。]
对象还涉及行为,称为方法,方法函数或操作。
对象的特征(属性和操作,字段和方法,等等)提供了一种对对象进行分类的方法。
一类对象共有的特性 - 好 - 可以收集到类定义中。类定义描述作为类成员的对象的属性和方法。
包是类定义的集合。虽然 - 理想情况下 - 一个包中的类有一些共同点,但这不是一个要求,也不是一个有用的区别。