VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#编程 >
  • C#教程之C# 8.0 的默认接口方法(2)

截至目前,程序都可以成功的编译和运行。 

 

IPerson接口变更 

突然,我想对所有的人类添加一个新的特性,例如,添加一个自我介绍的方法,所以我在IPerson里添加了Introduce()这个方法: 

public interface IPerson 
S references 
{ get; set; 
string 
Name 
3 references 
{ get; set; } 
int 
Age 
O references 
Introduce() 
void

 

现在再次Build一下项目,肯定会失败的: 

irror List 
Entire Solution 
Code 
O CS0535 
O CS0535 
O CS0535 
Description 
'Teacher' does not implement interface member 'IPerson.IntroduceO' 
'Student' does not implement interface member 'IPerson.IntroduceO' 
'Actor' does not implement interface member 'IPerson.IntroduceO'

因为这个方法在三个实现类里面都没有实现。 

 

使用默认的实现来更新接口 

如果在C# 8.0以前,我们肯定需要把三个实现类都实现一下这个Introduce() 方法。而在C# 8.0里,我们可以在IPerson接口里做一个默认的方法实现: 

public interface IPerson 
7 references 
string Name { get; set; 
4 references 
int Age { get; set; } 
O references 
Introduce() 
void 
Console.WriteLine($"I'm 
{Name} , 
{Age} years old. " ) ,

 

再次Build之后,您会发现就没有错误了: 

utput 
how output from: Build 
ConsoleÅppl, on: Debug Any CPU 
started: projec 
D: OlCorEoI•App1. 811 
succeeded. O O

 

而且我们也可以在所有的实现类上正常的调用这个方法: 

相关教程