原木纯品(292***737) 19:30:35
用EA生成C#代码,能否为属性自动生成Properties,UML里有相应概念吗
潘加宇(3504847) 20:20:49
在属性(attribute)的属性框里点Property栏设置
潘加宇(3504847) 20:28:49
然后生成的代码中就有相应的get set操作了
Property就是操作的一种,是实现语言如C#中getter setter的简化表示。类应该暴露的是可以"卖"给其他类的服务,而不是get、set,除非它就是这个类要卖的服务。
原木纯品(292***737) 7:38:38
谢谢老师的回复,我看了一些网上的C#教学视频,直接定义Property了,是不是一种趋势?
潘加宇(3504847) 8:27:37
网上的视频,即使是微软出来的,也未必是正确的,特别是初级的教学视频,主要目的是让初学者熟悉各种基本用法。
直接就缺省public string Name { get; set; },还不如让属性public了。
属性和操作的分离,背后的道理是卖和做的分离,操作是一个类卖给其他类的服务,属性是类所拥有的资源,两者不是一一对应也不应该一一对应,所以应该尽量避免getter和setter,除非它本身就是能卖的服务。
潘加宇(3504847) 8:28:04
课上幻灯片也有的:
潘加宇(3504847) 8:28:48
潘加宇(3504847) 8:29:30
|