• (9)C#类


    一、访问修饰符

    1.修饰符

    public 所有都能访问

    private 只能在本类中使用

    protected 当前类和所有子类可以访问

    internal 本程序集内使用

    protected internal  本程序集,或者当前类的子类可以访问

    private protected   访问限于当前类或当前程序集中此类的子类   C#7.2以上版本

    注意:

    未嵌套在其他类型中的顶级类型只能具有 internal  或 public 可访问性。 这些类型的默认可访问性为 internal  

    2.类的默认修饰符

    类中所有成员默认是 private

    所有成员可以是任意修饰符

    3.接口的默认修饰符

    接口中所有默认public

    所有成员不能自己填写修饰符,只能是默认的public

    4.枚举默认修饰符

    枚举所有默认public

    和接口一样,所有成员不能自己填写修饰符,只能是默认的public

    5.结构默认修饰符

    结构所有默认private

    手动填写的修饰符只能是 public  internal  private

    嵌套类的访问域不能超过上层

    参考 https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/accessibility-levels

    三、构造器

    构造器是一个与类名相同的方法 

    public Test()
      {
    
      }

    每当对类行进一次初始化时,都会调用构造函数。

    这个无参的构造函数可以不写,系统运行时会自动生成,虽然我们看不到。

    4、重载构造器

    和普通函数一样,构造函数也能够被重载。

    一旦为一个类写了任何构造器,编译器就不会在自动生成默认构造器。

    public Test(int a,int b)
    {
    
    }

    即便是有了有参数的构造函数,尽量也要写个无参构造因为当你在实例化一个无参数的对象时可能会报错

    Test  me=new Test();//如果没有无参构造函数,就会报错

    5.

    const

    const  用来修饰数值和字符串 使其保持不变,字段只能在该字段的声明中初始化。

    const 是静态的,不需要也不允许static 来修饰。

    当给s重新赋值时,vs会给出错误提示

     readonly 

  • 相关阅读:
    POJ 1436 Horizontally Visible Segments (线段树+区间覆盖)
    HDU 4671 Backup Plan (构造)
    POJ 3325 Help with Intervals (线段树(难))
    HDU 4649 Professor Tian (位运算 + 按位DP)
    HDU 4662 MU Puzzle (YY+枚举)
    HDU 4638 Group (线段树 + 离线)
    深入浅出Node.js (附录A)
    JS的变量声明和函数声明提升
    JS基础:翻转数组
    JS基础:求一组数中的最大最小值,以及所在位置
  • 原文地址:https://www.cnblogs.com/buchizaodian/p/5604209.html
Copyright © 2020-2023  润新知