代碼:
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();//接口類成員不能有實現(xiàn)
}
public interface ITeacher
{
//接口成員一定是公開的,不能有public等訪問修飾符!
void Answer();//接口類成員不能有實現(xiàn)
}
class Studyer:IStudent,ITeacher,Person //必須將繼承的接口成員全部實現(xiàn)
{
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() //不同接口同名函數(shù)的調(diào)用方法用.操作符
{
Console.WriteLine($"學(xué)生\t學(xué)號: {Id}\t姓名:{Name}\t性別:{Sex}");
}
void ITeacher.Answer() //不同接口同名函數(shù)的調(diào)用方法用.操作符
{
Console.WriteLine($"老師\t學(xué)號: {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;//將對象賦值給接口,由接口實現(xiàn)方法
s1.Answer();
Studyer Stu2 = new Studyer();
Stu2.Id = "17721526";
Stu2.Name = "王鐵柱";
Stu2.Sex = 'F';
ITeacher s2 = Stu2;
s2.Answer();
}
}
}
輸出結(jié)果:
結(jié)果.PNG
希望對大家理解接口有幫助,謝謝!