/*
*
*
*
*
*
* protected:受保护的
* 只有基类以及派生类可以访问(派生类内部都可以访问)
*
*/
using System;
namespace OOPExtend复习 {
class Person {
protected string name;
public Person(){
Console.WriteLine ("父类的构造方法");
}
public void Say(){
Console.WriteLine ("父类说话!");
}
}
class ZhangSan:Person {
public ZhangSan() {
Console.WriteLine ("子类的构造方法");
}
// 如果子类存在和父类一样的名称的方法,此时如果想完全覆盖父类方法的同时,要告知编译器方法是覆盖的方法,使用new关键字
// new就是告诉编译器这是一个新的方法,同时new会影藏父类的方法
public new void Say(){
Console.WriteLine ("子类说话!");
base.Say ();
}
// public void SayHi(){
// Console.WriteLine ("子类说话!");
// base.SayHi ();
// }
}
class MainClass {
public static void Main (string[] args) {
ZhangSan zs = new ZhangSan ();
// zs.SayHi ();
zs.Say();
}
}
}
方法覆盖 - new关键字
最新推荐文章于 2024-08-11 10:53:17 发布