C#内容与知识点整理(3)

如题所述

深入探索C#的面向对象精髓,让我们一起揭开它的神秘面纱。面向对象编程的核心在于类和对象,这是C#编程基石。它赋予我们维护简洁性、灵活性和代码复用的能力,以及多态性的魔力。类的声明通过修饰符public, protected, internal, private, 和protected internal,定义了不同级别的访问权限,比如在Person类中,我们可以看到公有和私有成员的区分,以及public的可读写字段、readonly的只读字段和const的编译时常数。

类是数据和行为的封装容器,通过数据成员(字段)和函数成员(方法)构建。在Class1的实例中,readonly int rd的初始化是在构造函数中完成的,而常量的设置则在编译时确定。对象的定义涉及引用、实例化,以及对字段和方法的访问。类对象的内存分配遵循栈存储引用,堆内存存放实例,如Person p1 = new Person(); p1.setdata(1, "Mary")所示。

访问权限是类对象成员的守护者,如TPoint类中,实例变量p1和p2共享同一个Person实例。对象引用的比较使用ReferenceEquals。接着,命名空间是组织代码逻辑的重要工具,它提供层次结构,便于管理和查找,如直接使用System.Console.WriteLine("ABC"),或自定义如namespace Ns1 { class A {...} }。

构造函数是类的蓝图,包括默认构造函数和带参数的版本,它们在对象创建时自动执行。编译器只有在没有其他构造函数时提供默认选项。构造函数可以是私有或受保护,以限制外部访问。例如,Testclass中的私有构造函数利用this关键字处理同名变量。类TPoint1展示了公有和私有构造函数,以及静态构造函数,它在实例构造之前执行。

析构函数在对象销毁时自动调用,用于释放资源,如TPoint2类中的析构函数会在对象生命周期结束时输出坐标信息。静态成员是类的共享资源,如静态字段和方法,它们不属于任何特定对象实例,而是类的全局特性。

属性是封装对象状态的关键,通过访问器(get和set)提供对外的接口。C#中的属性是特殊方法,虽然有局限性,如不能用于struct/class初始化,但允许自定义访问修饰符。属性的隐藏字段由编译器自动创建,如public int f,在实际使用中,只需声明即可。

通过这些基础知识,我们可以更好地构建和管理C#中的类和对象,充分利用面向对象编程的优势。在实际项目中,结合这些核心概念,我们可以创建出结构清晰、高效且易于维护的代码。
温馨提示:答案为网友推荐,仅供参考
相似回答