概述
隐藏:
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace _TBD_2020814Test
{
class Animal {
public void Show()
{
Console.WriteLine("Animal Show!");
}
}
class Cat : Animal {
public new void Show() //方法中使用关键字new,子类新写的方法把父类的方法隐藏起来
{
Console.WriteLine("Cat Show!");
}
}
class Dog : Animal { }
class Hashiqi : Dog { }
class Program
{
static void Main(string[] args)
{
Cat c = new Cat();
c.Show();//Cat Show
Animal a = new Cat();
a.Show();//Animal Show,是调用子类Cat中继承的
}
}
}
重写:
using System;
using System.CodeDom;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace _TBD_2020814Test
{
class Animal {
public virtual void Show()//使用virtual关键字,虚方法
{
Console.WriteLine("Animal Show!");
}
}
class Cat : Animal {
public override void Show() //方法中使用关键字override,子类修改父类的方法
{
Console.WriteLine("Cat Show!");
}
}
class Jiafei : Cat {
public override void Show() //override可被继续重写
{
Console.WriteLine("Jiafei Show!");
}
}
class Program
{
static void Main(string[] args)
{
Cat c = new Cat();
c.Show();//Cat Show
Animal a = new Cat();
a.Show();//Cat Show,是调用子类Cat中继承的
Jiafei j = new Jiafei();//Jiafei Show
j.Show();
}
}
}
最后
以上就是爱笑可乐为你收集整理的C#学习-方法隐藏(new关键字)&&重写(virtual&override)的全部内容,希望文章能够帮你解决C#学习-方法隐藏(new关键字)&&重写(virtual&override)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复