📄 abstractkey.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleTest
{
public abstract class Person
{
public abstract string GetName(int age);//抽象方法必须包含在抽象类中,且没有方法体
public int GetAge(string name)//抽象类中可以包含非抽象方法
{
if (name == "xuzhiqiang")
{
return 28;
}
else
return 18;
}
}
public class Student :Person
{
public Student()
{
Console.WriteLine("Person---------");
}
public override string GetName(int age)//基类中的抽象方法GetName是隐式的虚virtual方法,所以派生类中需要Override,但是不能用new
{
if (age == 28)
return "Person";
else
return "PersonTest";
}
}
public class BigPerson : Student
{
public BigPerson()
{
Console.WriteLine("BigPerson-------------");
}
//利用sealed关键字说明该方法要重写基类中的方法,且该方法在以后的派生类中不许在Override,注意:sealed必须与override 一起使用,
//如sealed override
public sealed override string GetName(int age)
{
if (age == 30)
{
return "BigPerson";
}
else
{
return "bigperson";
}
}
}
//类前加sealed说明该类是密封类,也就意味着该类不能被继承
public sealed class LittlePerson : BigPerson
{
public LittlePerson()
:base()
{
base.GetName(28);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -