首页  >  文章  >  后端开发  >  C# 类

C# 类

PHPz
PHPz原创
2024-09-03 15:26:02586浏览

在本文中,我们将学习 C# 类。类是所创建对象的蓝图。在实时场景中,我们假设 Car 是一个类。所以汽车有一定的特征,比如形状、速度、内饰、颜色等等。  因此,许多公司生产满足这些要求的汽车。例如,马鲁蒂、现代的每辆车都有这些对象。我们可以定义一个名为 car 的类,并根据汽车的特性创建对象。类似地,在 OOP 或面向对象的程序中,类具有许多属性,例如事件、方法、字段等。类使程序员能够根据自己的要求创建自定义类型的对象。

语法:

我们可以使用名为 the class 的关键字来定义类,后跟我们将决定的类的名称,并用一对花括号括起来。

Class Test {  }

实现 C# 类的示例

以下示例展示了如何实现它

示例#1

抽象类

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public abstract class Animals
{
public abstract void aml ();      // abstract class method
}
public class Cat : Animals     // inheritance
{
public override void aml()
{
Console.WriteLine("This is first animal");
}
}
public class Dog : Animals   // another class inheritance
{
public override void aml()
{
Console.WriteLine("This is second animal");
}
}
public class main_method
{
public static void Main()      // main method
{
Animals a;
a = new Cat();
a.aml();
a = new Dog();
a.aml();
Console.ReadLine();
}
}

说明:在上面的例子中,有一个抽象类Animals,具有抽象方法aml()。动物类是子类“猫”和另一个子类“狗”中固有的。在 main 方法中,“a”是无法实例化的 Animals 类的对象。抽象类在继承时使用,其中包含构造函数和析构函数。 Override关键字是抽象方法之前必须的,用于继承子类。

输出:

C# 类

示例#2

密封等级

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class Animal
{
public virtual void sleep()
{
Console.WriteLine("Animals are sleeping");
}
public virtual void eat()
{
Console.WriteLine("Animals are eating");
}
}
public class Cat : Animal    // inheritance
{
public override void sleep()
{
Console.WriteLine("Cat is sleeping");
}
public sealed override void eat()  // sealed method
{
Console.WriteLine("Cat is eating");
}
}
public class Dog : Cat  // inheritance
{
public override void Sleep()
{
Console.WriteLine("Sleeping");
}
public override void eat()
{
Console.WriteLine("Eating");
}
}
public class TestSealed
{
public static void Main()    // main method
{
Dog d = new Dog();
d.eat();
d.fly();
}
}

说明:在上面的示例中,有一个密封方法,用于防止其他类被继承。因此,在这种情况下,当我们尝试继承密封类时,编译器会读取密封关键字并给出错误。因此它不能被覆盖。

输出:

C# 类

示例#3

静态类

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Office
{
public static string Name;          // static fields
public static string Location;
static Office()        // constructor
{
Name = "Microsoft";
Location = "Hyderabad";
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Office.Name);
Console.WriteLine(Office.Location);
Console.Read();
}
}

说明: 在上面的例子中,有一个静态类,静态类使用了 static 关键字,这使得该类不可实例化。它由静态成员的名称和位置组成。在 main 方法中,我们正在访问类 Office 的静态数据成员。无法创建静态类的对象。静态类不能从任何其他类继承。

输出:

C# 类

示例#4

部分课程

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// partial class1.cs
public partial class Class1
{
private string EmpName;
private int EmpId;
public Class1(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
}
// partial class2.cs
public partial class Class1
{
public void Display()
{
Console.WriteLine("Employee name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}
public class Class
{
private string EmpName;
private int EmpId;
public Class(string a, int t)
{
this.EmpName = a;
this.EmpId = t;
}
public void Display()
{
Console.WriteLine("Employees name is : " + EmpName);
Console.WriteLine("Employee Id is : " + EmpId);
}
}

说明:在上面的例子中,实现了分部类。当我们上课时间较长时可以使用它。因此,为了简化代码,我们可以定义多个文件。 Partial 是与这些类型的类一起使用的关键字。因此它可以被分割成多个文件,其中包含一个使用partial关键字的方法。在此部分 class1.cs 和部分 class2.cs 被编译器合并为单个文件。

输出:

C# 类

注释: 访问说明符有助于访问成员以及类本身。

结论

为了访问任何类成员,我们应该使用点运算符。点运算符有助于将对象的名称链接到成员的名称。我们可以在类内部定义方法、构造函数、析构函数。

以上是C# 类的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn