Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 理解OO类定义_Class_Oop - Fatal编程技术网

Class 理解OO类定义

Class 理解OO类定义,class,oop,Class,Oop,这是IB计算机科学高级论文2010年11月2日Q1b的摘录 我试图理解以下类定义中的“节点”和“项”的“角色”是什么 > > 类定义中某些行后面的括号中的数字是我在下面的问题中使用的参考资料 以下是正确的吗 1节点是类的名称,当我想通过发出 节点x=新节点5 这将生成一个包含值5的新节点,该值存储在4,5中 2,3这些是带有标签item和next的数据项,分别是integer 2和Node 3类型。我不明白Node类型是什么意思???? 作为公众,我可以使用以下引用x.item、x.Node访问

这是IB计算机科学高级论文2010年11月2日Q1b的摘录

我试图理解以下类定义中的“节点”和“项”的“角色”是什么 >

>

类定义中某些行后面的括号中的数字是我在下面的问题中使用的参考资料

以下是正确的吗

1节点是类的名称,当我想通过发出 节点x=新节点5 这将生成一个包含值5的新节点,该值存储在4,5中

2,3这些是带有标签item和next的数据项,分别是integer 2和Node 3类型。我不明白Node类型是什么意思???? 作为公众,我可以使用以下引用x.item、x.Node访问和更改内容吗

4这是一个方法节点,它接受一个名为d的整数参数

5输入参数“d”被放入对象变量“item”中,“next”在创建新节点时被设置为空值

1 Node是当我想通过发出Node x=new Node5创建一个新的单个节点时使用的类的名称,该节点生成一个包含值5的新节点,该值存储在4,5中

这是一个合理的解释

2,3这些是带有标签item和next的数据项,分别为integer 2和Node 3类型。我不明白Node类型是什么意思??作为公共类型,我可以使用以下引用x.item、x.Node访问和更改内容吗

请称它们为变量而不是数据项。项和下一个是实例变量,由于下一个是节点类型,我们可以说类节点是递归定义的。这是一个链表的实现,其中每个元素包含一个整数值和对下一个元素的引用

你对公众的理解是正确的

4这是一个方法节点,它接受一个名为d的整数参数

您必须认识到这是一个构造函数方法,在实例化节点时会自动调用该方法来初始化节点的状态

5输入参数“d”被放入对象变量“item”中,“next”在创建新节点时被设置为空值

我更愿意说输入参数d的值被分配给变量项。我不会称之为对象变量——在某些语言中,int被视为对象,而在另一些语言中则不是。从某些角度来看,变量本身被视为原始对象,不同于它们的值。无论如何,我认为说obj会降低清晰度ect变量

为了进一步研究,请查看以下区别:

变量vs值:变量是一个包含值的元素。变量允许我们编写对不同值进行操作的代码。值可以是任何内容—数字、文本、数组、记录、对象、函数等等,具体取决于语言

类与对象:类是状态机的蓝图,而对象是状态机的特定实例。对象具有在该状态下操作的状态和方法

类与类型:类声明状态机内部发生的事情。类型声明一组值的已知内容。值类型与可对这些类型的值调用的运算符相关联。对象类型声明可对这些类型的对象调用的方法,但不声明这些方法的作用

在许多OOP语言和讨论中,类和类型被混为一谈。甚至变量和值也经常被混为一谈。作为一名计算机科学家,你应该知道并理解它们之间的区别

class Node (1)
{
public int item; (2)
public Node next: (3)

public Node(int d) (4)
{
item = d; (5)
next = null; (5)
}
public void displaynode()
{
output(Item + “ “);
}