zoukankan      html  css  js  c++  java
  • 06.类型和成员基础

        在一个类型中,可以定义0个或多个以下种类的成员
        常量
        字段
        实例构造器:将新对象的实例字段初始化为良好初始状态的一种特殊方法
        类型构造器:将类型的静态字段初始为良好初始状态的一种特殊方法
        方法
        操作符重载
        转换操作符
        属性
        事件
        类型:类型可定义嵌套于其中的其他类型,通常用这个办法将一个大的。复杂的类型分解成更小的构建单元,以简化实现
     
         友元程序集
        假定有三个开发人员A,B,C,A希望开发的程序集给B开发的程序集访问,但不想C开发的程序集访问,则A在开发程序集的时候,可以将B开发的程序集设置为友元程序集
        使用System.Runtime.CompilerServices中的InternalsVisibleTo这个attribute来标识将一个程序集设置为友元程序集
     
        在C#中如果没有显式指定一个成员的可访问性,则默认为private。CLR要求所有的接口类型的成员都是public,所以C#禁止开发人员显式指定成员的访问性,可访问性均为public
     
        派生类重写基类方法时,C#不允许改变方法的访问性,在CLR允许放宽,但不允许收紧。如在CLR中,原先是protected的可以改为public,但public的不能改为private或者protected
     
        静态类
        在C#中,使用static关键字定义不可实例化的类,这个关键字只能应用于类,不能应用于值类型数据,因为CLR总是允许值类型实例化
        1.静态类必须直接从System.Object中派生
        2.静态类不能实现任何接口
        3.静态类只能定义静态成员
        静态类在CLR中实现是一个抽象密封类
     
        分部类、结构和接口
     
        设计一个类型时,应尽量减少所定义的虚方法的数量
        1.调用虚方法的速度比调用非虚方法慢
        2.JIT编译器不能内嵌(inline)虚方法
        3.虚方法使组件的版本控制变得脆弱
        4.定义一个基类型,经常需要提供一组重载的简便方法
  • 相关阅读:
    路由 懒加载 错误ChunkLoadError: Loading chunk 10 failed.
    ngzorro create创建对话框 对话框组件内 关闭父组件 create对话框
    一个解决方案对dll的引用要注意的问题
    工作流的麻烦
    winform程序中使用documentview模式的考虑
    仿淘宝网评价的五角星投票代码
    图片闪烁代码
    JS+CSS仿淘宝滑过小图预览大图代码
    JavaScript控制图片左右播放的幻灯片代码
    JavaScript实现图片旋转构成3D圆环代码
  • 原文地址:https://www.cnblogs.com/a2htray/p/4593408.html
Copyright © 2011-2022 走看看