虚方法实现多态 C#中的5种访问修饰符

ASP.Net+Android+IOS开发.Net培训、期待与您交流!

多态面向对象的主要特征之一可以实现相同代码不同情况下实现不一样的功能

虚方法实现多态
父类声明方法时加 
virtual关键字表示这是一个虚方法
子类声明方法时加override关键字表示这个方法是重写父类中的虚方法
声明对象时   使用父类类型 声明对象变量 使用子类类型 构造对象
    class Person   //声明Person类
    {
        public Person(string name)  //声明构造函数
        {
            this.Name = name;
        }
        public string Name { get; set; }  //声明属性

        public virtual void Show()  //用virtual关键字声明方法    表示这是一个虚方法可以被子类重写
        {
            Console.WriteLine("我是父类虚方法!");
        }
    }

    class Chinese:Person  //声明Chinese类并且继承自Person类
    {
        public Chinese(string name):base(name)  //调用父类构造函数
        {
        }
        public override void Show()  //用override关键字重写父类中的方法
        {
            Console.WriteLine("我是中国人 我叫:{0}",Name);
        }
    }
            Person en = new Chinese("某某某");
            en.Show();
            Console.ReadKey(); 


en在调用Show方法是 程序会自动判断子类中的Show方法有没有被重写 被重写则调用子类方法  如果没有重写就调用父类中的Show方法


 C#中的5种访问修饰符
private  私有访问修饰符,只能在类内部访问该修饰符修饰的类成员(类不能被标记为私有的)
internal 内部访问修饰符,只能在程序级内部访问该修饰符修饰的类(新建类如果不加修饰符默认为internal修饰符修饰)
protected 保护访问修饰符,只能在本类或者继承自本类的子类中才能被访问
protected internal 保护+内部 访问修饰符,在程序集内部或者继承自本类的子类中才能被访问
public  共有访问修饰符,在程序的任何地方都能访问
使用反射等方法可以访问私有 内部 保护等修饰符修饰的类或成员属性 
ASP.Net+Android+IOS开发.Net培训、期待与您交流!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值