//抽象類別
abstract class AbsClass
{
public void pubMethod() { }
public virtual void virMethod() { } //virtual: 虛擬方法
public abstract void abcMethod(); //abstract: 抽象方法 -> 只能定義,不能有內容
}
//一般類別
class GenClass
{
public void pubMethod() { }
public virtual void virMethod() { }
//public abstract void abcMethod(); //抽象方法只能在抽象類別中定義
}
//繼承一般類別
class MyClass1 : GenClass
{
//1. 在繼承一般類別時,一般的方法不可以被覆寫
//public override void pubMethod(){ }
//2. 但是,可以用 new 修飾詞來隱藏父類別中的這個方法,
public new void pubMethod(){ }
//3. 父類別中的虛擬方法才可以被覆寫
public override void virMethod(){ }
}
//繼承抽象類別
class MyClass2 : AbsClass
{
//4. 繼承抽象類別, 就一定要實作它的抽象方法, 同樣是以覆寫的方式來做.
public override void abcMethod() { }
}
Ly/mir3osaHpoZ7liKUKYWJzdHJhY3QgY2xhc3MgQWJzQ2xhc3MKewogICAgcHVibGljIHZvaWQgcHViTWV0aG9kKCkgeyB9CiAgICBwdWJsaWMgdmlydHVhbCB2b2lkIHZpck1ldGhvZCgpIHsgfSAgICAgLy92aXJ0dWFs77yaIOiZm+aTrOaWueazlQogICAgcHVibGljIGFic3RyYWN0IHZvaWQgYWJjTWV0aG9kKCk7ICAgICAgIC8vYWJzdHJhY3TvvJog5oq96LGh5pa55rOVIC0+IOWPquiDveWumue+qSzkuI3og73mnInlhaflrrkKfQogCi8v5LiA6Iis6aGe5YilCmNsYXNzIEdlbkNsYXNzCnsKICAgIHB1YmxpYyB2b2lkIHB1Yk1ldGhvZCgpIHsgfQogICAgcHVibGljIHZpcnR1YWwgdm9pZCB2aXJNZXRob2QoKSB7IH0KICAgIC8vcHVibGljIGFic3RyYWN0IHZvaWQgYWJjTWV0aG9kKCk7ICAgICAvL+aKveixoeaWueazleWPquiDveWcqOaKveixoemhnuWIpeS4reWumue+qQp9CiAKLy/nubzmib/kuIDoiKzpoZ7liKUKY2xhc3MgTXlDbGFzczEgOiBHZW5DbGFzcwp7CiAgICAvLzEuIOWcqOe5vOaJv+S4gOiIrOmhnuWIpeaZgu+8jOS4gOiIrOeahOaWueazleS4jeWPr+S7peiiq+imhuWvqwogICAgLy9wdWJsaWMgb3ZlcnJpZGUgdm9pZCBwdWJNZXRob2QoKe+9myDvvZ0KIAogICAgLy8yLiDkvYbmmK/vvIzlj6/ku6XnlKggbmV3IOS/rumjvuipnuS+humaseiXj+eItumhnuWIpeS4reeahOmAmeWAi+aWueazle+8jAogICAgcHVibGljIG5ldyB2b2lkIHB1Yk1ldGhvZCgp772bIO+9nQogCiAgICAvLzMuIOeItumhnuWIpeS4reeahOiZm+aTrOaWueazleaJjeWPr+S7peiiq+imhuWvqwogICAgcHVibGljIG92ZXJyaWRlIHZvaWQgdmlyTWV0aG9kKCnvvZsg772dCn0KIAovL+e5vOaJv+aKveixoemhnuWIpQpjbGFzcyBNeUNsYXNzMiA6IEFic0NsYXNzCnsKICAgIC8vNC4g57m85om/5oq96LGh6aGe5YilLCDlsLHkuIDlrpropoHlr6bkvZzlroPnmoTmir3osaHmlrnms5UsIOWQjOaoo+aYr+S7peimhuWvq+eahOaWueW8j+S+huWBmi4KICAgIHB1YmxpYyBvdmVycmlkZSB2b2lkIGFiY01ldGhvZCgpIHsgfQp9
prog.cs(24,32): error CS1056: Unexpected character `{'
prog.cs(24,34): error CS1056: Unexpected character `}'
prog.cs(27,4): error CS1525: Unexpected symbol `public', expecting `;', `{', `=>', or `where'
prog.cs(27,37): error CS1056: Unexpected character `{'
prog.cs(27,39): error CS1056: Unexpected character `}'
prog.cs(28,0): error CS1525: Unexpected symbol `}', expecting `;', `{', `=>', or `where'
Compilation failed: 6 error(s), 0 warnings