zoukankan      html  css  js  c++  java
  • OC、C#与JAVA语法特点一些异同(差集&交集)

    C#对JAVA:

    1.扩展方法

    2.部分类

    3.动态对象

    4.匿名返回类型

    5.表达式树

    6.Linq

    7.没有函数指针,委托,事件的直接提供方式

    8.JAVA接口不规定以I开头,这个很烂的思想!

    JAVA对C#:

    1.匿名内部类,即可以直接new一个含方法实现的接口

    (注意:1.是new 接口;2.不同于普通C#的匿名方法,当然也可以说是实现某接口方法的动态对象,但这样说就有点纠结了)

    2.观察者接口,直接实现接口则可直接实用

    3.线程接口,实现即可实用,但要继承线程类才有start。

    4.java提供一大堆强大的数据结构类型以方便其在大性能优化,处理等提供支持,

    C#里也有,只是很少用到,哪怕是架构级的,这里不做比较。或者说C#和JAVA在语言上比较意义其实不大!

    而且JAVA&C#无论是语法还架构体系上都是N像是的,如spring.mvc<>asp.net mvc,RMI<>Remoting,JMS<>MQ,epoll<>iocp(系统平台相关)等等。。

    可以说区别最大的就是:.NET封装很好,自成全套体系、可选择不多(要实现也不难),java各种各样的开源枝节的选择(多大型应用实践的)、显得其体系庞大而已

    扯远了。。

    OC与C#&Java类/近似的(其实还是有很大不同)

    1.self&super,类似this,base

    1.Category 分类,相等C#扩展方法

    2.Protocol 协议,类似与C#接口,不过一般用于实现委托,如用属性实现接口等

    3.Block 代码块,类似于C#委托代码块

    4.可变参数,更类似java可变参数写法

    5.反射,类似java&C#放射

    6.KVC(path)&谓词,类似sql

    7.NSUserDefault(plist、偏好设置、加密归档等),有点类似web的cookies

    8.id<protocal> ,类似的泛型!

    OC与C#&Java不同的

    1.指针

    2.内存管理(当然也可以ARC)

    3.内置KVO,通知功能

    4.不会自动拆装箱

    5.泛型(OC木有啊!)

    还有OC实现设计模式也是N麻烦。。

    其他,线程、网络、文件操作基本也是必然类似的方式(不搭架构级的用法都差不多的简单)。。。

    PS,

    Xcode与Eclipse&VSTS基本结构差不多,但其界面开发、即内置IB的功能(xib/nib文件操作),输出口&操作等很有特点。

    OC是弱语法,下次来个OC难点及常见错误发生情况小结。。。其实C&OC彻底搞懂,IOS就不是个事了!

    ------语言强大在于API,但 just a tool...

    若转载,请注明@jiyilee.cnblogs.com 珍惜生活,努力工作!!!
  • 相关阅读:
    散列表(Hash Table)
    MVC中TextBox事件
    AJAX控制DropDownList两级联动
    唯一标示
    检查对象属性是否有空值
    foreach枚举div控制单个显示
    JS获取DropDownList其中一项的文本值
    随便
    MVC常用
    不可用输入框
  • 原文地址:https://www.cnblogs.com/jiyilee/p/4898303.html
Copyright © 2011-2022 走看看