浅谈C#面向对象之类与对象
在 C# 中,类与对象是面向对象程序设计 (OOP) 的核心概念。类是一个模板或者蓝图,用来描述某个对象的属性和方法。对象是类的一个实例,是具有一组属性和方法的实体。
定义类
C# 中定义类使用 class
关键字。类由类名、数据成员和成员函数组成。
例如:
public class Person
{
// 数据成员
private string name;
private int age;
// 成员函数
public void SetName(string name)
{
this.name = name;
}
public void SetAge(int age)
{
this.age = age;
}
public void Print()
{
Console.WriteLine($"Name: {name} Age: {age}");
}
}
以上代码定义了一个名为 Person
的类,该类有两个数据成员 name
和 age
,以及三个成员函数 SetName
、SetAge
和 Print
。其中 SetName
用于设置人名,SetAge
用于设置年龄,Print
用于将人名和年龄打印出来。
创建对象
C# 中创建对象需要使用 new
关键字。例如,我们依据上面的 Person
类创建一个名为 jack
的 Person
对象,可以使用以下代码:
Person jack = new Person();
调用成员函数
对象通过访问成员函数来与外部进行交互。在上述 Person
类中,我们通过调用成员函数 SetName
和 SetAge
来设置 jack
对象的名字和年龄,通过调用成员函数 Print
来将 jack
对象的名字和年龄打印出来。示例如下:
Person jack = new Person();
jack.SetName("Jack");
jack.SetAge(20);
jack.Print();
运行上述代码会输出 "Name: Jack Age: 20"
。
示例1
假设我们要实现一个图形库,其中包含一个名为 Rectangle
的类,用来描述一个矩形。该类有数据成员 width
和 height
,以及成员函数 GetArea
,它用来返回矩形的面积。
我们可以这样定义 Rectangle
类:
public class Rectangle
{
private double width;
private double height;
public void SetWidth(double width)
{
this.width = width;
}
public void SetHeight(double height)
{
this.height = height;
}
public double GetArea()
{
return width * height;
}
}
然后通过以下代码创建一个名为 rec
的 Rectangle
对象,并将其宽度设置为 3.0
,高度设置为 4.0
,最后调用 GetArea
函数,可以计算出该矩形的面积:
Rectangle rec = new Rectangle();
rec.SetWidth(3.0);
rec.SetHeight(4.0);
double area = rec.GetArea();
Console.WriteLine(area);
输出结果为 12
,即 3*4
。
示例2
在这个示例中,我们将实现一个名为 Dog
的类,用于描述一只狗。这个类有数据成员 name
和 age
,以及两个成员函数 Bark
和 Fetch
,分别代表狗的吠叫和拿东西。
代码如下:
public class Dog
{
private string name;
private int age;
public Dog(string name, int age)
{
this.name = name;
this.age = age;
}
public void Bark()
{
Console.WriteLine($"{name} is barking!");
}
public void Fetch(string thing)
{
Console.WriteLine($"{name} is fetching {thing}!");
}
}
上面的代码中,我们通过提供一个带参构造函数,来创建 Dog
类的对象,第一个参数为狗的名字,第二个参数为狗的年龄。我们也可以添加一个无参构造函数,用来创建一个默认的狗对象。成员函数 Bark
用来输出狗的吠叫,成员函数 Fetch
用来输出狗的拿东西行为。
下面我们可以创建一个默认的狗对象 dog1
,并调用它的成员函数 Bark
和 Fetch
:
Dog dog1 = new Dog("旺财", 3);
dog1.Bark();
dog1.Fetch("球");
运行上述代码后,输出:
旺财 is barking!
旺财 is fetching 球!
我们也可以创建一个带参数的狗对象 dog2
,并调用它的成员函数 Fetch
:
Dog dog2 = new Dog("小黑", 2);
dog2.Fetch("骨头");
运行上述代码后,输出:
小黑 is fetching 骨头!
至此,我们详细讲解了C#中的类与对象的定义和使用,以及提供了两个示例说明,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈c# 面向对象之类与对象 - Python技术站