C#中的类和对象

 我来答
天罗网17
2022-07-18 · TA获得超过6176个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:72.3万
展开全部

省略基类的指定等同于从类型 object 派生。
用new生成对象,当不再使用对象时,该对象占用的内存将自动收回。在 C# 中,没有必要也不可能显式释放分配给对象的内存。

派生类能够在继承基类的基础上添加新的成员,但是它不能移除继承成员的定义。
类类型的变量可以引用该类的实例或任何派生类的实例。例如,Point 类型的变量既可以引用 Point 也可以引用 Point3D:

1. 静态字段和实例字段
在C#程序中,没有全局变量的概念,这意味着所有的成员变量只有该类的实例才能操作这些数据。静态变量在类中类似全局变量,保存类的公共信息,所有该类的实例(对象)共享该值。
使用 static 修饰符声明的字段定义了一个静态字段 (static field)。一个静态字段只标识一个存储位置。对一个类无论创建了多少个实例,它的静态字段永远都只有一个副本。不使用 static 修饰符声明的字段定义了一个实例字段 (instance field)。类的每个实例都包含了该类的所有实例字段的一个单独副本。

使用 readonly 修饰符声明只读字段 (read-only field)。给 readonly 字段的赋值只能作为字段声明的组成部分出现,或在同一类中的实例构造函数或静态构造函数中出现。

2. 静态方法和实例方法
静态方法不对特定实例进行操作,并且只能访问静态成员;实例方法对特定实例进行操作,并且能够访问静态成员和实例成员。

调用方法

有四种类型的参数: 值参数 引用参数 输出参数 参数数组

下面的示例声明一个抽象类 Expression,它表示一个表达式树节点;它有三个派生类 Constant、VariableReference 和 Operation,它们分别实现了常量、变量引用和算术运算的表达式树节点。

下面的程序使用 Expression 类,对于不同的 x 和 y 值,计算表达式 x * (y + 2) 的值。

启发:

第一个 Console.WriteLine 输出 True,原因是两个列表包含的对象数目和值均相同。如果 List 未定义 operator ==,则第一个 Console.WriteLine 将输出 False,原因是 a 和 b 引用的是不同的 List 实例。

原文: https://www.cnblogs.com/kongxiaoshuang/p/6364114.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式