c#定义及实现接口及继承多个接口的例子

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    public interface Person     //每个人都会有的属性单独放在一个接口中
    {
        string Id { get; set; }
        string Name { get; set; }
        char Sex { get; set; }
    }

    public interface IStudent
    {
        //接口成员一定是公开的,不能有public等访问修饰符!
        
        void Answer();//接口类成员不能有实现

    }
    public interface ITeacher
    {
        //接口成员一定是公开的,不能有public等访问修饰符!
        
        void Answer();//接口类成员不能有实现

    }

    class Studyer:IStudent,ITeacher,Person  //必须将继承的接口成员全部实现
    {
        string id;
        string name;
        char sex;
        

        //以上声明私有字段
         public string Id       //公开访问共有属性
        {
            get { return id; }
            set { id = value; }
        }
         

         public string Name
        {
            get { return name; }
            set { name = value; }
        }
         
         public char Sex
        {
            get { return sex; }
            set { sex = value; }
        }
         

         void IStudent.Answer()     //不同接口同名函数的调用方法用.操作符
        {
            Console.WriteLine($"学生\t学号: {Id}\t姓名:{Name}\t性别:{Sex}");
        }
         void ITeacher.Answer()     //不同接口同名函数的调用方法用.操作符
        {
            Console.WriteLine($"老师\t学号: {Id}\t姓名:{Name}\t性别:{Sex}");
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            Studyer Stu1 = new Studyer();
            Stu1.Id = "17721528";
            Stu1.Name = "李药师";
            Stu1.Sex = 'M';
            IStudent s1= Stu1;//将对象赋值给接口,由接口实现方法
            s1.Answer();

            Studyer Stu2 = new Studyer();
            Stu2.Id = "17721526";
            Stu2.Name = "王铁柱";
            Stu2.Sex = 'F';
            ITeacher s2 = Stu2;
            s2.Answer();
        }
    }
}

输出结果:


结果.PNG

希望对大家理解接口有帮助,谢谢!

你可能感兴趣的:(c#定义及实现接口及继承多个接口的例子)