四、C#笔记

/// <summary>
/// 第七章:创建并管理类和对象
/// </summary>
namespace Chapter7
{
    class Program
    {
        public static int Num = 0;//7.6.1创建共享字段
        public const double PI = 3.1415926;//7.6.2使用const关键字创建静态字段,只有数值类型、字符串、枚举才可以声明
        static void Main(string[] args)
        {
            //7.1理解分类

            //7.2封装的目的
            /*
             * 封装:信息隐藏
             * 1.将方法和数据合并到类中,也就是为了支持分类
             * 2.控制对方法和数据的访问,也就是为了控制类的使用
             */

            //7.3定义并使用类
            Mouble.Class1 class1 = new Mouble.Class1();
            //7.4控制可访问性(private、public)

            //7.5使用构造器
            (int xVal, int yVal) = class1;

            //7.6理解静态方法和数据
            /*
             * 静态方法不依赖类的实例,不能在其中访问类的任何实例字段或实例方法。相反,只能访问标记为static的其他方法和字段
             */
            //7.6.3理解静态类
            /*
             * 静态类只能包含静态成员(使用该类创建的所有对象都共享这些成员的单一拷贝)
             * 静态类纯粹作为工具方法和字段的容器使用
             * 静态类不能包含任何实例数据或方法
             * new操作符创建静态类的对象没有意义,编译器也会报错
             * 允许包含一个默认构造器(静态)
             */
            //7.6.4静态using语句
            //using static System.Math;慎用!

            //7.7匿名类
            /*
             * 匿名类没有名字的类
             */
            var myAnonymousObject = new { Name = "John",Age = 47 };
            Console.WriteLine($"Name:{myAnonymousObject.Name}Age:{myAnonymousObject.Age}");
            /*
             * 匿名类虽然好用,但内容存在着相当多的限制。匿名类只能包含公共字段,字段必须初始化,不能是静态,而且不能定义任何方法。
             */
        }
    }
}
 

 class Class1
    {
        private int x, y;
        public Class1()//7.5默认构造器
        {

        }

        Class1(int num)//7.5.1重载构造器
        {

        }

        //7.5.2解构对象
        /*
         * 必须命名为Deconstruct
         * 必须是void方法
         * 必须获取一个或多个参数。这些参数用对象中的字段的值填充
         * 参数用out修饰符加以标志。意味着如果向其赋值,这些值会传回调用者。
         * 方法主体代码向参数赋值
         */
         public void Deconstruct(out int x,out int y)
        {
            x = this.x;
            y = this.y;
        }
    }

相关推荐

  1. C#笔记

    2023-12-09 17:02:04       52 阅读
  2. C++学习笔记(十

    2023-12-09 17:02:04       56 阅读
  3. C#(C Sharp)学习笔记_运算符【

    2023-12-09 17:02:04       52 阅读
  4. C++面向对象学习笔记

    2023-12-09 17:02:04       35 阅读
  5. C++学习笔记十三):c++ optional

    2023-12-09 17:02:04       48 阅读
  6. C++ Primer Plus第十笔记

    2023-12-09 17:02:04       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 17:02:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 17:02:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 17:02:04       82 阅读
  4. Python语言-面向对象

    2023-12-09 17:02:04       91 阅读

热门阅读

  1. 【自学篇】Python篇-第一天温度转换

    2023-12-09 17:02:04       56 阅读
  2. 力扣98. 验证二叉搜索树

    2023-12-09 17:02:04       63 阅读
  3. 胶囊网络实现手写数字分类

    2023-12-09 17:02:04       55 阅读
  4. git修改commit信息

    2023-12-09 17:02:04       52 阅读
  5. 传世SUN引擎如何安装

    2023-12-09 17:02:04       51 阅读
  6. CoreDNS实战(八)-递归服务器

    2023-12-09 17:02:04       59 阅读
  7. Linux常用命令详解与示例

    2023-12-09 17:02:04       54 阅读
  8. WPF DataGrid 里面的ToggleButton点击不生效

    2023-12-09 17:02:04       60 阅读
  9. csp 如此编码 C语言(回归唠嗑版)

    2023-12-09 17:02:04       51 阅读