首页 技术 正文
技术 2022年11月13日
0 收藏 315 点赞 2,873 浏览 709 个字

一、什么是“通用类型系统”(CTS)

描述类型的定义和行为

二、CTS规范

一个类型可以包含零个或者多个成员
1,成员
①字段(Field)
作为对象状态一部分的数据变量。字段根据名称和类型来区分
②方法(Method)
针对对象执行操作的函数,通常会改变对象的状态。方法有一个名称、一个签名以及一个或多个修饰符。签名指定参数数量(及其顺序);参数类型;方法是否有返回值;如果有返回值,还要指定返回值类型
③属性(Property)
对于调用者,属性看起来是字段。但对于类型的实现者,属性看起来像是一个方法(或两个方法)。属性允许在访问值之前校验输入参数和对象状态,以及/或者仅在必要时才计算某个值。属性还允许类型的用户采用简化的语法。最后,属性允许创建只读或只写的“字段”
④事件(Event)
事件在对象以及其他相关对象之间实现了通知机制。

2,类型的可见性规则以及类型成员的访问规则
①private
成员只能由同一个类(class)类型中的其他成员访问
②family
成员可由派生类型访问,不管那些类型是否在同一个程序集中(C#使用protected)
③family and assembly
成员可由派生类型访问,但这些派生类型必须在同一个程序集中(C#没有提供这种访问控制)
④assembly
成员可由同一个程序集中任何代码访问(C#使用internal)
⑤family or assem
成员可由任何程序集的派生类访问。成员也可以由同一个程序集的任何类型访问(C#使用protected internal)
⑥public
成员可由任何程序中的任何代码访问

3,一个类型只能从一个基类派生(单继承)

4,CTS还为类型继承、虚方法、对象生存期等定义了相应的规则

上一篇: 复习一下xml(c)
下一篇: 深入理解yield
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,993
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,507
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,350
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,135
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,768
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,845