• “通用类型系统”(CTS)


    一、什么是“通用类型系统”(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还为类型继承、虚方法、对象生存期等定义了相应的规则

    学习永不止境,技术成就梦想。
  • 相关阅读:
    C#微信开发文档
    XML相关操作
    css基本样式总结
    CSS选择器及其优先级
    Java学习之路(七)
    G2( bizCharts ) React 绘制混合图例
    G2 绘制混合图例 demo
    python 前后端分离 简单的数据库返回接口
    nginx 跨域
    react-router-dom
  • 原文地址:https://www.cnblogs.com/zd1994/p/6337635.html
Copyright © 2020-2023  润新知