显式隐式实现接口

04-01 阅读 0评论

一般来说在类中实现接口不需要指定接口的名称,即隐式实现接口,接口成员默认public访问修饰符,不能额外定义访问修饰符,public也不行,接口成员被隐式实现的访问修饰符也只能是public.

显式隐式实现接口,显式隐式实现接口,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,访问,方法,接口,第1张
(图片来源网络,侵删)

如果类实现的多个接口中,不同的接口中有同名的成员,如自动属性或方法等,那么必须指定该成员实现的是哪个接口,即显式实现接口成员,类中显式实现成员的访问修饰符默认为private,也只能是private, 这样显示实现的接口成员就只能被接口对象调用,防止被类对象调用,如下demo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 显式隐式实现接口
{
    class Program
    {
        static void Main(string[] args)
        {
            //声明接口对象,
            IBird TianE = new Bird();
            TianE.Age = 2;//显示实现iBirdh的接口属性IBird.Age,该成员只有IBird接口对象才能调用
            ((Bird)TianE).Fly();//将IBird对象强转成Bird对象,才可以调用Fly()方法
            Bird maque = new Bird();
            maque.Age = 1;//隐式实现接口属性Age,此时调用的是类的public属性Age,IBird修饰符为默认的private,就是为了方式被类调用
            int x = maque.Age;
            maque.Swim();
        }
    }
    class Bird : IBird,IFish
    {
        private int age;
        public void Fly()
        {
            Console.WriteLine("can fly");
        }
        //显示实现接口,接口名.接口成员名  访问修饰符private 防止类调用
        int IBird.Age { get =>age; set => age = value; }
        public void Swim()
        {
            Console.WriteLine("can swit");
        }
        public int Age { get=>age;set=> age = value; }
    }
    interface IBird
    {
        void Fly();
        //自动属性,快速实现方式:Prop + 两个Tab键
        int Age { get; set; }
    }
    interface IFish
    {
        void Swim();
        int Age { get; set; }
    }
}
显式隐式实现接口,显式隐式实现接口,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,访问,方法,接口,第2张
(图片来源网络,侵删)
显式隐式实现接口,显式隐式实现接口,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,访问,方法,接口,第3张
(图片来源网络,侵删)

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]