用Object Pascal描述一下“人”的一个属性“爱”(50分)

  • 主题发起人 主题发起人 net_donkey
  • 开始时间 开始时间
N

net_donkey

Unregistered / Unconfirmed
GUEST, unregistred user!
一个发表在某高校“男孩女孩”版上的一段关于“爱”这个属性的描述
有兴趣发表一下自己的看法,或者丰富一下:
////////////////////////////
关于“爱”这个“人”个的属性
用Object Pascal 可以这样描述:
type
人 = class(动物)
private:
public:
个性 //虚拟,抽象属性
吃饭
睡觉
……
protected:
爱 //虚拟,抽象属性。人人都有爱,但需要看用什么样的方
//式表达出来
published:
身高 //虚拟,抽象属性。
体重 //虚拟,抽象属性。
姓名 //虚拟,抽象属性。
性别 //虚拟,抽象属性。
……
end;
type
某人 = class(人)
public:
自然信息
爱1
private:
个性
隐私
爱2
……
protected:
爱3
published
爱4
end;
 
请你弄清楚睡觉不是属性,是行为。看你上面,全是属性。一个失败的类设计。
 
to 楼上:
接受意见
不对的地方麻烦改正
 
某人是类?应该是对象了吧!要不然还能clone人啊?应该var某人吧!
 
随便是什么都没关系.
 
不好,没有完全发挥Object Pascal的威力
加一条:
property 漂亮:T漂亮 read FGet漂亮from外表 write FSet漂亮To虚荣心
[:D][:D][:D]
 
对不起
大错特错了:0
改过
 
type
TCreature = class
procedure Sleep;
procedure Eat;
procedure Move;
Alive : boolean;
......
end;

我们还是来先完善一下最基本的TCreature类吧!
 
爱 应该是行为还是属性?
我琢磨半天没搞明白
 
听讲……
 
哈哈........
 
我觉得爱是属性,道理没有
 
private
procedure MakeLove visual;abstract;
FLove : 未知类型;
GetFromHeart;
visual;abstract;:D
SetToOther;
visual;abstract;
:D
public
property Love : 未知类型;
read GetFromHeart wirte SetToOther;
 
to taozhiyu:
有创意!
 
太失败的设计了,某人只是人的实例,怎么能定义能一个类呢?
身高 //虚拟,抽象属性。
体重 //虚拟,抽象属性。
姓名 //虚拟,抽象属性。
性别 //虚拟,抽象属性。
published出来的东东还有虚拟抽象的???
简简单单
type
TLoverList = class(TList)
...
...
end;
type
人 = class(动物)
private:
FLoverList: TLoverList;
public
function GetIfIamLoved(const Value: 人): boolean;
//查询自己是否被别人爱上
procedure Notify(const Value: 人;
const Loved: boolean);
//别人爱自己或者不爱自己的消息响应
published:
LoverList: TLoverList read FLoverList;
end;
自己爱上某人或者不爱某人通过LoverList.Add,LoverList.Delete...
别人爱上自己或者不爱自己了则通过Notify处理,如果自己也喜欢对方,则可以用
FLoverList.Add加上对方,反之则不用做什么。
 
这个游戏很好玩。我们来设计人这个类如何?
 
呵呵,很有可能一辈子都设计不完 :D
 
我们来学着做人么!哈哈!
 
后退
顶部