⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 面向对象编程.txt

📁 一些关于UML的经典讨论
💻 TXT
字号:
1: 1107661 : ----------------------------------
*原文*(*www_wzj*于2001/07/27 11:17粘贴) *面向对象编程 *
---------------------------------------------------------------------------

向大家请教面向对象编程的一个小问题:用树形表示知识点,为简便,设知识点由两层构成,第一层为学科,第二层即该学科下的知识点,要将知识点按树形表示,
如用传统方法,将知识点从表中读出,根据知识点结构的定义,编一段程序XXX,即可将这些知识点在树上显示,显然,如果知识点结构定义不同,则程序XXX
也不同。现用OOP,有两个类,知识点和树,请问上面程序段XXX应封装在z哪个类中?或有其它方法?如能在VB环境中说明,则更好!谢谢。
---------------------------------------------------------------------------


2: 1107691 : ----------------------------------
*原文*(*greenfly*于2001/07/27 14:27粘贴) *用MVC的模式去考虑,应该比较清晰 *
---------------------------------------------------------------------------
用MVC的模式去考虑,应该比较清晰
Model代表的是实体.比如知识点类,负责存储数据和自身的操作.
View是实体的某种表现形式,可以是树,也可以是图表,多种多样.每个View读取Model上的数据,进行表现.你说的XXX代码,应该是树类上负责
处理表现的代码
Control负责交互,将树类上的用户操作转化为知识点类能接受的方法,将知识
点类的状态变化,通知树类,激发它的更新
每个部分都尽量独立和自治
---------------------------------------------------------------------------


3: 1107697 : ----------------------------------
*原文*(*www_wzj*于2001/07/27 15:09粘贴) *回复: 用MVC的模式去考虑,应该比较清晰 *
---------------------------------------------------------------------------
非常感谢.按我的理解,是否要加一个新类(即Control类),它从知识类中获取数据再传给树类,让其显示.
---------------------------------------------------------------------------


4: 1107700 : ----------------------------------
*原文*(*greenfly*于2001/07/27 15:22粘贴) *回复: 用MVC的模式去考虑,应该比较清晰 *
---------------------------------------------------------------------------
树类可以直接读取知识点类的数据去显示
---------------------------------------------------------------------------


5: 1107705 : ----------------------------------
*原文*(*www_wzj*于2001/07/27 15:37粘贴) *回复: 用MVC的模式去考虑,应该比较清晰 *
---------------------------------------------------------------------------
又乱了,就是将显示树的程序xxx放在树类中?在树中读取知识点的数据???
---------------------------------------------------------------------------


6: 1107717 : ----------------------------------
*原文*(*greenfly*于2001/07/27 16:50粘贴) *Observer模式 *
---------------------------------------------------------------------------
因为我们使用VB,Dephi这些工具,在贯彻面向对象思想时肯定会受到
环境的影响,比如说要把工具提供的控件和我们自己的设计的结构融
合在一起.如果要保证良好的结构,好的可重用性,要做一些额外的工
作.
你可以创建一个新类MyTreeview对Treeview做简单的包装
public class MyTreeview {
private Treeview _Treeview;
public MyTreeview(Treeview view){
_Treeview = view;
}
public update {
// 读取知识点类的信息,更新_Treeview
}
}
好像有些别扭,为什么这样做,可以看看
---- 行为模式 ---- Observer模式
---------------------------------------------------------------------------


2: 1107666 : ----------------------------------
*原文*(*mouri*于2001/07/27 11:30粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
知识点的结构封装在知识点类中,它是对具体内容的定义,它不依赖于树的存在而存在,树型方法表示只是一种方法
而树的结构定义应封装在树类中,它是对树型结构的定义
瞎说的,不可当真,不负责任
---------------------------------------------------------------------------


3: 1107678 : ----------------------------------
*原文*(*www_wzj*于2001/07/27 13:20粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
树要具体显示知点的内容,请教这段程序放在知识点类中,还是树中,为什么?
---------------------------------------------------------------------------


4: 1107698 : ----------------------------------
*原文*(*mouri*于2001/07/27 15:10粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
你自己已经说得很清楚了,树是通过知识点来反映其内容的
你不能因为在树上能看到树叶,就确定树叶的明细是在树中定义的
---------------------------------------------------------------------------


4: 1107681 : ----------------------------------
*原文*(*bn007*于2001/07/27 13:42粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
树中。mouri说得对,知识点类应独立于树。
---------------------------------------------------------------------------


5: 1107687 : ----------------------------------
*原文*(*www_wzj*于2001/07/27 14:03粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
就是说,将知识点用树的形式显示,作为知识点类的一个方法,请问这个方法是否要以树作为入口参数?如VB中,以treeView作为参数?
---------------------------------------------------------------------------


6: 1107693 : ----------------------------------
*原文*(*greenfly*于2001/07/27 14:41粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
如果知识点类的一个方法,以treeView作为参数,负责在树上显示知识点的
内容. 那么知识点类和树类就是紧密耦合的.
如果我想把知识点显示在一个Memo里,或一个ListView里,就很困难了
---------------------------------------------------------------------------


7: 1107707 : ----------------------------------
*原文*(*mouri*于2001/07/27 15:42粘贴) *回复: 面向对象编程 *
---------------------------------------------------------------------------
说得对,灵活性有时要在设计中考虑,尤其是在做产品的时候,不考虑灵活性的产品注定会失败的
做项目就不同,如果用户有非常明确的需求,耦合强一些也无所谓
---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -