开始设计的时候,总把树类和树结点类混淆,本来各个树类之间应该有继承关系,而我把结点类也来个继承。而结点类是自引用的(自反的,我这样叫),结点的一个实例要引用结点的另一些实例的集合,那么一旦由结点类A扩展出结点类B的时候,B是无法通过显示转换的方式转换为A结点的,于是这就与树类的继承相矛盾了。
这个问题想了N个月,没想明白。曾经放弃过,最近要做另一个模块,其中需要树类结构,所以又回来考虑,最后终于想明白了,就是上面所说的原因。树结点并不需要继承,只需要在各个继承的树类之间都是用相同的结点类就可以了(二叉树好象需要除外),只要结点不需要提供新的属性,就不派生,从而保持树类间方法的更大兼容性。
二叉树结点由于扩展了树结点,需要用左孩子和右孩子的形式,所以二叉树就无法继承N叉树了(也就是无法继承树类)。
您还没有登录,请您登录后再发表评论
10. **ES6及以后的版本**:ECMAScript的后续版本引入了许多新特性,如箭头函数、Promise、模块系统(import/export)、类等,这些让JavaScript更加现代化,提高了开发效率。 总的来说,这个压缩包提供的资源涵盖了...
4. 门派介绍模块:介绍游戏中的各种门派,包括门派特点、技能树等。 5. 装备模块功能:展示不同类型的装备,包括属性、获取方式等。 6. 人物模块:介绍游戏中的角色,包括角色背景、成长路径等。 7. 地图介绍模块:...
### 嵌入式学习心得知识点详述 #### 一、C开发经验 - **重要性**: C语言作为嵌入式开发的基础语言之一,对于学习嵌入式技术至关重要。 - **学习路径**: - 初学者应从基础语法开始学习,逐步掌握变量、数据类型、...
《我的人生故事项目:NimbleBit的首都游戏图像模块》 在数字世界中,游戏不仅是一种娱乐形式,更是个人记忆和经历的重要载体。在这个名为"SeansLifeArchive_Images_Capitals_-NimbleBit_Game-"的压缩包中,我们发现...
用多媒体的表现手法将学习过程完全显示在你面前,使用者可以随时查看所选章节的知识要点提示,可以观看程序的制作过程和效果,也可以马上进入到VC编辑器对范例程序修修改改,在实践中加深对知识的理解;还可以进入到...
2. **资源制作与管理**:提供了强大的资源收集和制作工具,便于制作图书和课件,并可下载管理这些内容。 3. **高度安全性**:具备完善的用户权限管理系统和图书审核机制,确保内容的安全性和实用性。 4. **开放性...
4. **装配设计**:装配模块是Catia V5的重要部分,它允许用户将多个零件组合成一个完整的组件。学习者将学习到如何定义零部件之间的关联关系,实现动态约束,以及如何进行装配动画的制作。 5. **工程图绘制**:这...
取而代之的是选项卡和功能区的新界面,现在我们一步步来制作一个自己的选项卡(首先申明,有些代码和方法来自ExcelHome论坛和网络,在这里谢谢这些提供代码的朋友 ,俗话说的好“前人载树,后人乘凉”,并非个人所写...
UE4以其强大的渲染能力、直观的编辑器界面以及丰富的功能模块而著称。 #### 知识点二:UE4的主要特性 1. **高质量的视觉效果**:UE4拥有先进的图形渲染技术,能够提供接近真实的光照效果、材质细节和环境模拟。 2....
5. 机器学习:包括监督学习(如线性回归、逻辑回归、决策树、随机森林、支持向量机、神经网络等)、无监督学习(如聚类、降维等)和强化学习,以及模型评估和调优的方法。 6. 模型选择与验证:了解交叉验证、网格...
可以通过报表设计器定义报表模板来制作各类报表,报表模板定义时,如Excel一样,可以定义各种样式,通过自定义SQL或向导生成SQL,生成数据源模板。通过报表设计器,可以生成各类复杂的报表。 在报表设计器中设计完成...
相关推荐
10. **ES6及以后的版本**:ECMAScript的后续版本引入了许多新特性,如箭头函数、Promise、模块系统(import/export)、类等,这些让JavaScript更加现代化,提高了开发效率。 总的来说,这个压缩包提供的资源涵盖了...
4. 门派介绍模块:介绍游戏中的各种门派,包括门派特点、技能树等。 5. 装备模块功能:展示不同类型的装备,包括属性、获取方式等。 6. 人物模块:介绍游戏中的角色,包括角色背景、成长路径等。 7. 地图介绍模块:...
### 嵌入式学习心得知识点详述 #### 一、C开发经验 - **重要性**: C语言作为嵌入式开发的基础语言之一,对于学习嵌入式技术至关重要。 - **学习路径**: - 初学者应从基础语法开始学习,逐步掌握变量、数据类型、...
《我的人生故事项目:NimbleBit的首都游戏图像模块》 在数字世界中,游戏不仅是一种娱乐形式,更是个人记忆和经历的重要载体。在这个名为"SeansLifeArchive_Images_Capitals_-NimbleBit_Game-"的压缩包中,我们发现...
用多媒体的表现手法将学习过程完全显示在你面前,使用者可以随时查看所选章节的知识要点提示,可以观看程序的制作过程和效果,也可以马上进入到VC编辑器对范例程序修修改改,在实践中加深对知识的理解;还可以进入到...
2. **资源制作与管理**:提供了强大的资源收集和制作工具,便于制作图书和课件,并可下载管理这些内容。 3. **高度安全性**:具备完善的用户权限管理系统和图书审核机制,确保内容的安全性和实用性。 4. **开放性...
4. **装配设计**:装配模块是Catia V5的重要部分,它允许用户将多个零件组合成一个完整的组件。学习者将学习到如何定义零部件之间的关联关系,实现动态约束,以及如何进行装配动画的制作。 5. **工程图绘制**:这...
取而代之的是选项卡和功能区的新界面,现在我们一步步来制作一个自己的选项卡(首先申明,有些代码和方法来自ExcelHome论坛和网络,在这里谢谢这些提供代码的朋友 ,俗话说的好“前人载树,后人乘凉”,并非个人所写...
UE4以其强大的渲染能力、直观的编辑器界面以及丰富的功能模块而著称。 #### 知识点二:UE4的主要特性 1. **高质量的视觉效果**:UE4拥有先进的图形渲染技术,能够提供接近真实的光照效果、材质细节和环境模拟。 2....
5. 机器学习:包括监督学习(如线性回归、逻辑回归、决策树、随机森林、支持向量机、神经网络等)、无监督学习(如聚类、降维等)和强化学习,以及模型评估和调优的方法。 6. 模型选择与验证:了解交叉验证、网格...
可以通过报表设计器定义报表模板来制作各类报表,报表模板定义时,如Excel一样,可以定义各种样式,通过自定义SQL或向导生成SQL,生成数据源模板。通过报表设计器,可以生成各类复杂的报表。 在报表设计器中设计完成...