精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>面向对象专题>>请教一个面向对象的问题

主题:请教一个面向对象的问题
发信人: 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]

[关闭][返回]