zoukankan      html  css  js  c++  java
  • “通用类型系统”(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还为类型继承、虚方法、对象生存期等定义了相应的规则

    学习永不止境,技术成就梦想。
  • 相关阅读:
    maven项目部署到tomcat中没有classe文件的问题汇总
    Tomcat远程调试模式及利用Eclipse远程链接调试
    FastDFS 常见问题
    Linux Crontab 定时任务 命令详解
    EChart 关于图标控件的简单实用
    java 通过zxing生成二维码
    Mybatis typeAliases别名
    Mybatis 实现手机管理系统的持久化数据访问层
    Mybatis 实现传入参数是表名
    Mybatis关于like的字符串模糊处理
  • 原文地址:https://www.cnblogs.com/zd1994/p/6337635.html
Copyright © 2011-2022 走看看