发信人: 3871()
整理人: leeyg(2001-06-05 22:50:06), 站内信件
|
2对象:对象ClassA,有属性PropertyA;另一对象:名ClassB,有属性
PropertyB。
其中PropertyB需引用类A中的PropertyA。
问题是:存在一个类对另一个类的属性引用的两个类之间的关系是
什么关系,在理论上是如何论述的?
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.30] 发信人: zhaofy (妖道), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Fri Oct 15 10:02:10 1999), 站内信件
【 在 3871 (3871) 的大作中提到: 】
: 2对象:对象ClassA,有属性PropertyA;另一对象:名ClassB,有属性
: PropertyB。
:
: 其中PropertyB需引用类A中的PropertyA。
: .......
用实例连接
-- <H1>“什么时候才能消灭小日本,还我中华民族的尊严呵?”妖道悲天悯人地顿足捶胸.
[email protected]
http://www.zhaofy.com
http://www.netbug.net.cn/~zhaofy</H1>
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.135.50] 发信人: 3871 (3871), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Fri Oct 15 12:43:22 1999), 站内信件
【 在 zhaofy (妖道) 的大作中提到: 】
: 【 在 3871 (3871) 的大作中提到: 】
: : 2对象:对象ClassA,有属性PropertyA;另一对象:名ClassB,有属性
: : PropertyB。
: :
: .......
我觉得这种关系似乎不像是实例连接,实例连接间的依赖关系比这种关系
紧密。
提出这个问题,是因为在用DELPHI实现时,一个Form中要另一个From的
属性,这种连接似乎比消息连接紧,但又比实例连接松。
我现在是用消息连接的方法实现。但似乎系统开销太大。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.30] 发信人: hyenachenyao (BlueHyena), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Fri Oct 15 18:59:32 1999), 站内信件
【 在 3871 (3871) 的大作中提到: 】
: 【 在 zhaofy (妖道) 的大作中提到: 】
: : 【 在 3871 (3871) 的大作中提到: 】
: : .......
:
: .......
我认为这两个类是一种信任关系.
在delphi中一个form 引用另一个form 中的变量(属性), 在 uses 子句中
添加要引用的form 单元就可以了.而被引用的变量(属性)应该是被声明为public 的.
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.72.251.28] 发信人: tryit (懒虫), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Fri Oct 15 20:57:11 1999), 站内信件
是属性和属性之间有引用吗?
我看是ClassB 引用 ClassA 的属性 PropertyB 吧 ?
【 在 3871 (3871) 的大作中提到: 】
: 2对象:对象ClassA,有属性PropertyA;另一对象:名ClassB,有属性
: PropertyB。
:
: 其中PropertyB需引用类A中的PropertyA。
: .......
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.78] 发信人: 3871 (3871), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Sat Oct 16 11:48:26 1999), 站内信件
【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: 我认为这两个类是一种信任关系.
: 在delphi中一个form 引用另一个form 中的变量(属性), 在 uses 子句中
: 添加要引用的form 单元就可以了.而被引用的变量(属性)应该是被声明为public
: 的.
谢谢,我以前经常这样用。
我想在理论上探讨一下为什么可以这样用。(从系统分析的层面)
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.251] 发信人: hyenachenyao (BlueHyena), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Sat Oct 16 14:14:52 1999), 站内信件
【 在 3871 (3871) 的大作中提到: 】
: 【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: : 我认为这两个类是一种信任关系.
: : 在delphi中一个form 引用另一个form 中的变量(属性), 在 uses 子句中
: : 添加要引用的form 单元就可以了.而被引用的变量(属性)应该是被声明为public
: .......
我不知道您所说的从系统分析方面是什么意思.
在C++语言中,我记得在类与类之间有一种关系信任关系,我想delphi中这种一个
类引用另一个类中的属性大概就是这种关系的表现吧.
在我看到的许多国外的文章(讨论面向对象方面)中,认为类中包含属性和服务.
当一个类想访问另一个类的属性时,应该向此类发出服务请求,此类给与服务的回
应.
当然,直接引用此类的属性是服务的简化.从您定义的类与类之间的关系来看,
应该是消息连接关系.
这是我的一点想法,不一定正确,互相讨论.
-- ※ 修改:.hyenachenyao 于 Oct 16 14:28:53 修改本文.[FROM: 210.72.251.208] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.72.251.208] 发信人: 3871 (3871), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Sat Oct 16 15:51:53 1999), 站内信件
【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: 【 在 3871 (3871) 的大作中提到: 】
: : 【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: : .......
: 我不知道您所说的从系统分析方面是什么意思.
: .......
你说得对,一个类直接对另一个类的属性进行引用是一种简化。
它绕过了类的封装。
我以前经常从一个类中引用另一类的属性,当系统一大,这种
直接的引用的缺点就显现出来:
1、破坏了模型的完整性(分析时并没有这两个模型(类)的关系,
但在实现时却用到了这种关系)
2、不规范,互相引用到一定程度时,非常凌乱。
3、对象之间的藕合度大大增强,很不利于大型系统的开发。
所以,我想找一个理论,可以统一地解决这个问题,我觉得很有
可能是我对类的概念还理解得很肤浅,在建模上出了问题。
正如你所说,严格地讲,这是一个类对另一个类的服务请求,而服务
正是类的消息,所以,我将它归类到消息连接。
但是,真有必要为每一个这样的服务而在分析层面为它们建模吗?
请指教?
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.35.251] 发信人: tryit (懒虫), 信区: SystemAnalysis 标 题: Re: 请教一个面向对象的问题.... 发信站: 网易虚拟社区 (Sun Oct 17 19:41:43 1999), 站内信件
我认为属性就是用来公开的,否则要属性干什么,全部都成内部变量了。
【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: 【 在 3871 (3871) 的大作中提到: 】
: : 【 在 hyenachenyao (BlueHyena) 的大作中提到: 】
: : .......
: 我不知道您所说的从系统分析方面是什么意思.
: .......
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.78]
|
|