博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 第四课 interfaces
阅读量:5127 次
发布时间:2019-06-13

本文共 1389 字,大约阅读时间需要 4 分钟。

An interface is a contract(协定) that guarantees to a client how a class or struct will behave.
When a class implements an interface(实现一个接口), it tells any potential(可能的) client “I guarantee I’ll support all the methods, properties, events, and indexers of the named interface.”
These contracts are made manifest(表明) using the interface keyword, which declares a reference type(引用类型) that encapsulates(封装) the contract.
interface ICompressible{    void Compress();    void Decompress();}interface ILoggedCompressible : ICompressible{    void LogSavedBytes();}public class Document : ILoggedCompressible {    // 实现ICompressible    public void Compress(){ …}    public void Decompress() { …}    // 实现ILoggedCompressible      public void LogSavedBytes() { …}// 要实现所有的接口成员

 

 

as operator

foreach (Document doc in folder){        IStorable isDoc = doc as IStorable;        if (isDoc != null)        {                isDoc.Read();        }else{                Console.WriteLine("IStorable not supported");doc.Encrypt();        }…}as 有左右两个操作数Casts the left operand to the type specified by the right operand.Returns null if the cast fails.
Interface Vs. Abstract Class
Interfaces are very similar to abstract classes.
C# doesn’t allow multiple inheritance with classes.
C# does allow to implement any number of interfaces and derive from one base class.

转载于:https://www.cnblogs.com/GSONG/p/4399062.html

你可能感兴趣的文章
转负二进制(个人模版)
查看>>
LintCode-Backpack
查看>>
查询数据库锁
查看>>
[LeetCode] Palindrome Number
查看>>
我对于脚本程序的理解——百度轻应用有感
查看>>
SQL更新某列包含XX的所有值
查看>>
网易味央第二座猪场落户江西 面积超过3300亩
查看>>
面试时被问到的问题
查看>>
spring 事务管理
查看>>
VS2008 去掉msvcr90的依赖
查看>>
当前记录已被另一个用户锁定
查看>>
Bootstrap
查看>>
前端安全-常见的攻击以及防御
查看>>
jsp页面之间传中文参数显示乱码问题的解决
查看>>
LeetCode461.汉明距离
查看>>
类库日期和jsp导包
查看>>
MySQL常用命令总结2
查看>>
js日期时间函数(经典+完善+实用)
查看>>
步进指令与顺控程序设计
查看>>
记一次数据库异常恢复
查看>>