二、方法/函数定义
定义一个函数的办法其实很简单,几乎和java的函数定义没有什么两样——如果你不使用DJ的高级特性的话。
User getUser(UserList ul,String name){
for(int i=0;i<ul.size();i++){
User item=ul.item(i);
if(item.name.equals(name)){
return item;
}
}
return null;
}
给getUser函数一个用户列表和一个用户名,然后getUser就可以找出第一个名字与name相同的用户,并返回。
这样有意义吗?这不就是java代码吗?
是啊,这个例子确实没什么意思,仅仅是为了表明,DJ的函数定义,可以与java没什么区别而已。
void addUser(UserList ul,User u){
ul.add(u);
}
有人会说了,这就更没有意思了!且慢,我再给这个函数加点内容:
void addUser(UserList ul,User u){
ul.add(u);
check:
old.ul.size()+1==new.ul.size();
old.uequals(new.u);
new.ul.item(new.ul.size()).equals(old.u);
}
这样就描述三个check条件:ul的size+1;u的内容不被改变;u被加在ul的最后一个位置。
这三条check条件,都必须成立,这个addUser才算是正确。
这就有点DBC的意思了吧,且慢,我再给这个函数加点内容:
void addUser(UserList ul,User u){
ul.add(u);
check:
old.ul.size()+1==new.ul.size();
old.uequals(new.u);
new.ul.item(new.ul.size()).equals(old.u);
test:
void test1(){
User u1=new User(1,"a");
User u2=new User(2,"b");
UserList ul1=new UserList();
UserList ul2=new UserList();
ul1.add(u1);
ul1.add(u2);
ul2.add(u1);
ul2.add(u2);
Useru3=new
User(3,"c");
ul1.add(u3);
addUser(ul2,u3);
assert(ul1.equals(ul2));
}
}
理解我这样做的意图的同学请举手!
(未完待续)
分享到:
相关推荐
20210509-信达证券-化工行业:敲响轮胎消费时代的钟声!.pdf
【标题解析】:“图片购物搜索淘淘搜:敲响美丽说们的丧钟?”指的是新兴的电商搜索工具“淘淘搜”通过创新的图片购物搜索功能,对以美丽说、蘑菇街为代表的图片购物网站构成潜在的竞争威胁。 【描述概要】:文章...
化工行业:敲响轮胎消费时代的钟声!.pdf
提到的“丧钟为谁而鸣”,这句话源自约翰·多恩的诗句,意味着每个人的死亡都是所有人的损失,每个人都在为自己的死亡敲响丧钟。在这里,读者被提醒珍惜当下,因为生命无常,每一刻都可能是最后的时刻。同时,这也...
化工行业:敲响轮胎消费时代的钟声!(30页).pdf
化工行业:敲响轮胎消费时代的钟声!(2021)(30页).pdf
《地球——我们的家园》是教育学生认识地球独特性和环保重要性的关键课程。这一课时的教学设计旨在通过多种教学策略,使学生对地球的唯一性有深入理解,提高他们对环境保护的认识,培养珍视地球家园的情感。 教学...
7. 时代与个人:每个人都是时代的一部分,即使是最微小的角色也能在关键时刻发挥重要作用。这体现了每个个体在大时代背景下的价值和责任。 总的来说,这篇读后感不仅呈现了疫情期间的现实情况,也展现了人们在困境...
"地球——我们的家园 教案(教学设计)" 本教案旨在帮助六年级学生初步养成珍惜地球资源、保护地球环境的行为与习惯,了解地球是目前已知的惟一有生命存在的、适宜人类生存和发展的星球。通过教学,学生能初步归纳...
Window操作系统的诞生成就了微软帝国,同时也造就了PC时代的繁荣,然而如今,以Android和iPhone手机为代表的智能移动设备的发明与互联网云技术的兴起却敲响了PC时代的丧钟!这也预示着移动互联网时代(3G)已经来临。 ...
有一种爱,迟了就无法再来,有一种情走了就无法追溯…… ——题记 卷子上那89分的分数沉重的打击着我的心灵,太阳渐渐落下,山来,我走在回家的路上。泪水充满了我的眼眶。夕阳在我的眼中变得扭曲模糊,我把脚步放到...
《地球——我们的家园》是部编版六年级下册道德与法治课程中的第四课,旨在教育学生认识地球作为人类生存环境的重要性,理解人与自然之间的相互依存关系,以及环境问题的严重性,培养学生的环保意识和责任意识。...
1. 教育资源:文档是一个针对六年级下册道德与法治课程的教学设计,具体为第4课“地球——我们的家园”。这表明教育资源正在关注环境教育,旨在培养学生的环保意识。 2. 知识目标:教学设计中包含了三个层次的目标...
后端服务云是一种服务模型,它为Web和移动应用开发者提供了一种方式,将应用与后端云存储连接起来,同时提供了用户管理、推送通知、社交媒体集成等功能。这一模式通过使用定制的软件开发工具包(SDKs)和应用程序...
然而,以android和iphone手机为代表的智能移动设备的发明却敲响了pc时代的丧钟!移动互联网时代(3g时代)已经来临,谁会成为这些移动设备上的主宰?毫无疑问,它就是android——pc时代的windows! 移动互联网还是...
划线句采用了排比的修辞手法,强调了战争对家庭的破坏,并提出“一起一致”行动,维护和平,阻止战争,为21世纪敲响和平的丧钟。这表达了作者对和平的深切期盼,以及希望全世界共同反对战争的愿望。 四、表达和平...
《医疗废物管理的法律问题探析——以湖南某湖流域为例》 医疗废物管理是公共卫生领域中的重要环节,它涉及到环境保护、公众健康和社会稳定等多个层面。这篇研究主要以湖南某湖流域为背景,深入探讨了我国医疗废物...
此外,烟花的美丽瞬间与新年钟声的敲响相结合,象征着辞旧迎新,寓意着新的希望和开始。文中提到的新年倒计时和烟花的同步绽放,强化了这一寓意,展现出人们对新的一年的美好祝愿和期盼。 最后,烟花的余韵——降落...
本课主题为“地球——我们的家园”,旨在教育六年级学生了解地球作为我们唯一的生存家园的重要性和环境问题的严重性。教学设计围绕两个主要部分展开:一是认识我们生存的家园,二是环境问题对人类生存的警示。 1. *...
【标题】"facemix:人们敲响"指的是一个名为"facemix"的项目,这个项目似乎与表情包相关,特别的是它涉及到人们敲响的场景,这可能是指一种特殊的表情或动态效果,用于表达特定的情感或者情境。在IT行业中,表情包是...