最近写了个程序,题目是这样的:
  做一个名片管理系统,实现存储,修改,删除,最关键的是能方便的搜索。(提供多种搜索方式)
 
提示:
名片素材在名片管理.rar中,可作参考。
要求:
用类实现,用集合存取。
如果实现本地存储可以调用                                   
 
         这个系统要求用面向对象去做。一看就知道,名片一定是要定义个类了,每个名片都有电话,传真,公司名称,公司地址,网址,邮箱等,这些都是卡片的属性,有的属性可以空,这样就可以new出一个个不同的卡片对象了,放在集合中进行操作。于是我就定义了一个卡片类,可我总觉得一个类有点少,就像在定义一个类,呵呵,于是悲剧就开始了,我定义了一个Incard类,让它表示card里面的条目;怎么解释这个incard呢,我当时想既然是card 里面的条目,就把电话,传真,公司名称,公司地址,网址,邮箱等都定义成了incard的里面的属性了,而card类只剩下cardname属性了;
大体如下:
         哎,就不能为自己做的错事去找理由,要想找理由怎么都能找到。当时我给自己错误的理论解释的还蛮有道理,结果做起项目来,刚开始还没感觉啥,等对数据操作时才感到一开始就没定义好类,也没对面向对象理解好。数据的操作是既不能在Card中更不能在Incard中,因为你怎么去解释呢?没有合理的解释。都做了一半了,没办法只能做下去了,结果还是做出来了,但怎么都不爽,做得时候不爽,现在回头看更是没法看了。当然项目是要抽时间重新写了。
         经过这次深刻的教训,我认识到C#的面向对象是站在人处理事务和认识事务的角度去做项目的,编程应该有好的思想和习惯,面向对象的思想就是好的思想,因为只要你分析透了问题,搞清楚了要操作的各个对象,归纳好了类,所有的项目都可以看作一个了(只是他们的大小不同),剩下的就是实现方法,看基本功了。