在 C# 中,面向对象编程(Object Oriented Programming,OOP)是一种编程范式,它将软件系统分解为多个相互关联的对象,每个对象都具有自己的属性和行为。下面是一些 C# 中面向对象编程的基本概念和特性:
类(Class):类是用来定义对象的模板,它包含了对象的属性和方法。类定义了对象的类型,而对象是类的实例。
对象(Object):对象是类的实例,它具有类定义的属性和方法。对象可以通过调用其方法来执行相应的操作。
封装(Encapsulation):封装是将对象的属性和方法封装在一起,隐藏其内部实现细节,只暴露必要的接口。这样可以提高代码的可维护性和安全性。
继承(Inheritance):继承是指一个类可以从另一个类继承属性和方法,从而实现代码的重用和扩展。被继承的类称为基类或父类,继承的类称为子类。
多态性(Polymorphism):多态性是指不同的类可以有相同名称但不同实现的方法。在 C# 中,通过虚方法和抽象方法来实现多态性。
接口(Interface):接口是一种特殊的类,它只包含方法的签名,而不包含方法的实现。接口用于定义对象之间的约定,可以实现多态性和代码的可扩展性。
事件(Event):事件是一种用于通知其他对象发生了某些事情的机制。对象可以通过引发事件来通知其他对象,其他对象可以通过订阅事件来响应事件。
using System;
// 定义一个类
class Person
{
// 定义属性
public string Name { get; set; }
public int Age { get; set; }
// 定义方法
public void SayHello()
{
Console.WriteLine("Hello, my name is " + Name + " and I am " + Age + " years old.");
}
}
// 主函数
class Program
{
static void Main(string[] args)
{
// 创建一个Person对象并设置属性
Person person = new Person();
person.Name = "John";
person.Age = 25;
// 调用方法
person.SayHello();
// 等待用户输入,防止控制台窗口关闭
Console.ReadKey();
}
}
这个代码定义了一个名为Person的类,该类具有Name和Age属性以及SayHello方法。在主函数中,我们创建一个Person对象并设置其属性,然后调用其SayHello方法来打印出一个问候语。