C#参考篇 第03部分 引用类型

目录

第03部分 引用类型

3.1 内置引用类型

3.2 类class

3.3 接口interface

3.4 可为null的引用类型


第03部分 引用类型


  • 引用类型的变量存储对其数据或对象的引用,值类型直接包含其数据;对于引用类型,两种变量可以引用同一对象,因此,对一个变量执行的操作会影响另一个变量所引用的对象。对于值类型,每一个变量都具有其自己的数据副本,对于一个变量执行的操作不会影响另一个变量。

3.1 内置引用类型


  1. 对象object:所有类型都直接或者间接从object继承。可以将任意类型的值赋值给object对象的变量。
  2. 字符串string:表示0个或者多个Unicode字符的序列,其类型只存在只读属性,可以通过索引的方式获取其中的字符。重新指定字符串时,实质上时创建了新的字符串对象来保存新的字符序列。
  3. 委托类型delegate:声明方式和方法签名相似。委托是一种可用于封装命名方法或匿名方法的引用类型。
  4. 动态类型dynamic:表示变量的使用和对其成员的引用绕过编译时检查,在运行时解析这些操作。行为上和object类似,运行时会转化为object类型变量。

3.2 类class


  1. 在C#中仅允许单一继承,一个类只能从一个基类继承,但可以有多个类继承单一基类。
  2. 类是直接在命名空间中声明的,未嵌套的类默认未internal,其类成员是默认私有的。
  3. 类中可以包括构造函数,常量,字段,终结器,方法,属性,索引器,运算符,事件,委托,类,接口,结构类型,枚举类型。

3.3 接口interface


  1. 接口定义协议:实现该协议的任何类或结构体必须提供接口中成员的实现,具有一定的限制作用。
  2. 接口可以在命名空间和类中声明,C#7.3版本下,只能包含抽象方法,属性,索引器,事件。不存在默认实现。不可以加访问修饰符。
  3. C#8.0后可以包括:常量,运算符,静态构造函数,嵌套类型(静态字段,方法,属性,索引和事件),使用显式接口实现,默认成员是public,可以加访问修饰符。
  4. 接口不能包含实例字段和状态,静态不可以修饰成员。、
  5. 接口存在多继承的特性,只能重写继承的第一位父接口方法,且是显式接口实现方法重写。
  6. 在类中,显式接口实现的方法只能通过接口实例去调用,接口实例只能用子对象替代。自身不可以实例化。
  7. 接口是解决C#中类可以同时继承多个基类的问题。

3.4 可为null的引用类型


  • 在C#8.0之后可以使用可为null的引用类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值