上班一个周零两天,从Java到c#,本来Java就不咋地的我,转做起了c#,
当时为了赶时髦,什么ssh了设计模式了都有所了解,用也没怎么用,都是知道个大概
晚上觉都睡不好,老是做梦,都是危机重重的感觉
细细研究,语言上的差别还是蛮大的,感觉好多人一说起来Java与c#,都说差别不大,怎么怎么地
虽说面向对象的语言的思路是一直的,但是语言本身没差别就比较大
首先基础部分,c#比Java多出来一个 ref关键字,导致参数会通过引用来传递
这一关键字约束的参数,方法的改变都会影响到这个参数本身的值
感觉这是一个亮点,但是究竟哪里时候ref,怎么用,用我还不知道
与之类似的是out关键字
另外一个区别就是C#类中可以有析构函数,但是析构函数不是必要的,析构函数也是总动被调用的
这一点感觉像Java中的finalize方法,但是finalize方法是对象被销毁钱调用的,而析构函数就是销毁对象
这点又有所不同
另外就是c#的类中有字段,Java中叫做属性,而c#的属性又相当于Java类中的getter和setter方法
这点别扭了我两天才转管来
刚弄明白过来又发现c#中还有自动属性,这种改变仅仅是为了省几行代码,不用声明字段了,直接是属性
而且这种属性中的get和set还没有实现,以分号结尾,说白了就是为了省代码
自动属性就是类似于这种形式 public string Name{get;set;} 不得不佩服微软啊
再就是索引器,委托和事件,索引器大概和Java中的compare(名字记不住了)接口类似的功能
委托就是方法的绑定,也是用不好,
还有就是c#中也存在结构,我的理解就是结构是简单的类,如果结构复杂了,直接定义成类得了
什么时候用怎么用,还是不知道
之后就是接口了枚举了之类,接口中可以有属性,我很不理解,
属性不就是操作字段的吗,接口中不允许定义字段,却可以有属性,大概就是实现类中再定义相关字段吧
之后是异常处理,没深入的看,反正看他们写的程序都是抛出Exception一场,也没见自定义异常
面向对象的大方向也就是这个,中间还有n多的细节,我这是想到哪写到哪,很不系统
然后最让我头疼的就是C#中的泛型,与Java中的泛型差别比较大
但是从实现机制来看,c#的泛型确实是提高了代码的效率
c#的泛型是特定的泛型类,不是说像Java中那样,类集中的类都可以为其制定泛型
还有就是泛型接口,泛型类,泛型方法等等吧,非常晕,虽说有时候连蒙带猜能看懂程序,但是没有完全弄明白
怎么都不踏实
然后就是asp.net的学习,标准控件,内置对象,数据访问控件,一个字:强
确实是省了不少事,但是好多实现机制都不知道,程序照样可以出来,
真不知道这是程序员的幸福还是悲哀
反正这一切都归功于微软
之后做了一个小系统,从数据库抓数据,显示在前台页面,
前天页面可以选择查询条件,也没有用几个控件,算是感受下asp.net的开发思路
现在就是压力重重,前所未有的感觉,这好几天都不知道什么事可以让我笑起来了
只有面对工作的眉头紧皱和苦苦思索
业务上的东西也很复杂,都得学习,
业务上的可以问师傅,师傅的心情好似乎时好时坏,摸不透,需要小心翼翼的,确实是新人不好带,什么都不知道
技术上的我自己可以看,这周基本上是7点回生活区吃饭洗澡
9点看书到11点睡觉,躺床上动也不想动
睡着后就开始做梦,好似乎梦里的事都令我紧张异常
心里慌慌的,努力吧,相信这段艰难的日子回过去的!