下面是关于"C#中类成员定义的修饰关键词知识点总结"的详细攻略。
什么是修饰关键词
在C#中,修饰关键词可以用于控制类成员的访问权限、性能等方面。常用的修饰关键词有以下几种:
- public:公共的,所有代码都可以访问。
- private:私有的,只有当前类能够访问。
- protected:受保护的,只有当前类和子类能够访问。
- internal:内部的,只有同一程序集中的代码可以访问。
- protected internal:受保护的内部的,只有同一程序集中的代码和当前类或子类中的代码可以访问。
- sealed:密封的,不能被继承。
- abstract:抽象的,不能直接实例化。
- virtual:虚拟的,可以被子类重写。
- override:覆盖了基类的方法。
- static:静态的,不能被实例化。
修饰关键词示例说明
示例一:public和private
//这是一个类,并且类中有两个变量和一个方法
class Person
{
//定义一个公共变量age
public int age;
//定义一个私有变量name
private string name;
//定义一个公共方法SetName,设置私有变量name的值
public void SetName(string n)
{
name = n;
}
}
在上面的示例中,公共变量age
可以被其他代码访问,而私有变量name
只能在当前类中被访问,这就保护了name
变量不受外部代码的干扰。
示例二:protected和override
//这是一个基类,有一个虚拟方法ShowMessage
class Person
{
//定义一个虚拟方法ShowMessage
public virtual void ShowMessage()
{
Console.WriteLine("This is a Person.");
}
}
//这是一个子类,继承自基类Person
class Student:Person
{
//覆盖了基类的ShowMessage,变成了一个新的方法
public override void ShowMessage()
{
Console.WriteLine("This is a Student.");
}
}
//在主函数中
static void Main(string[] args)
{
Person p = new Person();
p.ShowMessage();//输出This is a Person.
Student s = new Student();
s.ShowMessage();//输出This is a Student.
Person ps = new Student();
ps.ShowMessage();//输出This is a Student.
}
在上面的示例中,基类Person
中的方法ShowMessage()
是虚拟的,在子类Student
中使用override
关键词来覆盖了Person
类中的ShowMessage()
方法,并且实现了一个新的方法。在主函数中,Person
类的实例p
和子类Student
的实例s
分别调用了各自的ShowMessage()
方法,输出了正确的结果。此外,还可以看到,将实例s
赋值给了基类Person
的实例ps
,并且调用了ShowMessage()
方法,这就体现了多态性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中类成员的定义的修饰关键词知识点总结 - Python技术站