• C#学习笔记(类的定义)


    1 public

      共有访问。不受任何限制。

    2 private

      私有访问。只限于本类成员访问,子类,实例都不能访问。

    3 protected

      只限于本类和子类访问,实例不能访问。

    4 internal

      内部访问。只限于本项目内访问,其他不能访问。

    5 protected internal

      内部保护访问。只限于本项目或是子类访问,其他不能访问。

    6 abstract

      抽象类

    7 sealed

      密封的类

    修饰符 含义
    无或internal 只有在当前项目中访问类
    public 可以在任何地方访问类
    abstract或internal abstract 类只能在当前项目中访问,不能实例化,只能供继承之用
    public abstract 类可以在任何地方访问,不能实例化,只能供继承之用
    sealed或internal sealed 类只能在当前项目中访问,不能供派生之用,只能实例化
    public sealed 类可以在任何地方访问,不能供派生之用,只能实例化

    8 类和结构

    先看一段实例代码

    namespace Test

    {

      class myClass

      {

        public int val;

      }

      struct myStruct

      {

        public int val;

      }

      class Program

      {

        static void Main(string[] args)

        { 

          myClass objectA = new myClass();

          myClass objectB = objectA;

          objectA.val = 10;

          objectB.val = 20;

          myStruct structA = new myStruct();

          myStruct structB = structA;

          structA.val = 30;

          structB.val = 40;

          Console.WriteLine("objectA.val = {0}",objectA.val);

          Console.WriteLine("objectB.val = {0}",objectB.val);

          Console.WriteLine("structA.val = {0}",structA.val);

          Console.WriteLine("structB.val = {0}",structB.val);

          Console.ReadKey();

        }

      }

    }

    输出结果为:

    objectA = 20

    objectB = 20

    structA = 30

    structB = 40

      对象是引用类型(objectA和objectB)。在把对象赋值给变量的时候,实际上是把带有一个指针的变量赋值给了该指针所指向的对象。在实际代码中,指针是内存中的一个地址,地址是内存中该对象所在的位置。在用下面的代码行把第一个对象引用赋值给类型为myClass的第二个变量时,实际上是复制了这个地址。

      myClass objectB = objectA;

      这样两个变量就包含同一个对象的指针。

      而结构是值类型。其变量并不包含结构的指针,而是包含结构本身。在用下面的代码把第一个结构赋值给类型为myStruct的第二个变量时,实际上是把第一个结构的所有信息复制到另一个结构中。

      myStrujct structB = structA;

  • 相关阅读:
    Starting a Build
    getting the xml for running tfsreg.exe
    Monitoring and Analyzing Builds
    Getting Started with Silverlight
    Creating a New Build
    culture definition
    从数学到密码学(一)
    git如何建立分支实现新功能合并新功能到主分支
    git的patch解决二进制文件冲突生成某个文件的patch合并一个patch查看某个文件的历史比较两个文件
    blender 用户界面基本构成
  • 原文地址:https://www.cnblogs.com/DannyShi/p/4468956.html
Copyright © 2020-2023  润新知