一种完全的面向对象语言意味着一切皆以对象的形式表示,它不能区分基本类型和类的对象,但 C# 并不是纯粹面向对象的,因为它在某种程度上支持许多过程式编程的概念,比如指针。对象是面向对象编程的基本单元,它代表了现实生活中的实体。一个典型的 C# 程序会创建许多对象,正如我们所知,它们通过调用方法来进行交互。我们可以通过以下几种方式在 C# 中创建对象:
1) 使用 ‘new‘ 运算符: 类是一种引用类型,在运行时,除非使用 new 运算符进行声明,否则任何引用类型的对象都会被分配一个空值(null)。new 运算符仅在运行时为对象分配内存空间,这意味着分配是动态的。
语法:
// className() 是对构造函数的调用
className ObjectName = new className();
注意: 构造函数可以是默认构造函数,也可以是用户自定义的构造函数。
示例:
csharp
CODEBLOCK_0773a7e6
输出:
The area of the Rectangle is 120
2) 创建对现有对象的引用: 引用只能用类名和引用名来声明。引用不能独立存在,它必须被分配给同一个类的一个已经存在的对象。对引用所做的任何更改都将保存到它所指向的对象中。这有点像别名。
语法:
className RefName;
RefName = objectName;
示例:
csharp
CODEBLOCK_143f5289
输出:
Area of tri1 is 0
Area of tri1 is 17.5
3) 创建对象数组: 如果你需要同一类的多个对象,我们可以创建一个对象数组。这需要我们先声明数组,然后初始化每个元素(在此情况下即对象)。我们可以使用 for 循环来进行初始化。
语法:
className[] arrayName = new className[size];
csharp
“
// C# 程序演示如何创建对象数组
using System;
namespace ArrayofObjects {
class Circle {
public int radius;
// 定义构造函数
public Circle()
{
radius = 0;
}
// 设置半径值的方法
public void setValue(int r)
{
radius = r;
}
// 计算圆面积的方法
public double Area()
{
return (double)3.14 radius radius;
}
}
// 驱动类
class Program {
// 主方法
static void Main(string[] args)
{
// 声明一个包含两个对象的数组
Circle[] circleArray = new Circle[2];
// 初始化对象
circleArray[0] = new Circle();
circleArray[1] = new Circle();
// 设置半径的值
circleArray[0].setValue(1);
circleArray[1].setValue(2);
// for 循环显示面积
for (int i