这里只记录和C++面向对象的区别,也并无比较成分,只做差异化学习使用。

  1. 访问修饰符区别:多了一个Internal:成员仅能被同一个项目中的代码访问。

  2. 字段的访问:增加了Get,Set访问器,前者操作取字段,后者操作写字段。可都指定,也可只指定一个

  3. 构造函数区别:没有初始化列表,均按函数传参形式走

  4. 析构函数区别:没有虚析构函数的说法了,因为内存管理在C#是被语言管理了

  5. partial可以将整个类分开定义

  • partial修饰符只能出现在关键字class,struct,interface前面得位置

  • 分部类中允许使用嵌套分部类

  • 一个类的所有分部类必须在同一程序集和同一模块中

  • 分部类的类名和泛型类型参数必须匹配

    1. 装箱:值类型转换成引用类型。拆箱:引用类型转换为值类型
    2. C#只支持单继承,所以没有菱形继承的问题。并且增加了接口Interface来实现多继承
    3. virtual只保留了虚函数的用法,纯虚函数用abstract 替代了
    4. C# sealed 关键字的含义是密封的,密封类不能被继承,密封方法不能被重写
    5. 但是密封方法必须出现在子类中,并且是子类重写的父类方法,即 sealed 关键字必须与 override 关键字一起使用。
    6. 接口Interface必须依靠类来实现,自己没有实例。有显示实现(直接写接口名称点接口变量 IComputer.ID)和隐式实现(在类里直接写变量全名)
posted on 2021-05-10 23:32  逆流而上の鱼  阅读(216)  评论(0)    收藏  举报