接口与对象课件.pptVIP

  • 3
  • 0
  • 约1.44万字
  • 约 77页
  • 2019-08-10 发布于广东
  • 举报
对象实现多个接口 假如对象实现了两个接口IString和IPersist 客户需要在runtime时明确地知道接口的类型信息,包括通过创建函数得到的初始接口类型 at runtime,客户可以灵活地从一个接口变换到另一个接口,如果对象不支持某个接口,客户也有办法知道 回忆RTTI(Runtime type identification) dynamic_cast RTTI依赖于编译器的实现 RTTI只能用于类的继承层次中 对象实现多个接口(续一) 所以我们需要自己构造一套类型机制,要求: 每个接口都要提供类型转换机制,能转换到同一对象上实现的其他接口 客户只要得到了一个接口就可以得到其他的接口,所以创建函数可以返回任一个接口 如果对象不支持某个接口,客户必须能明确地知道,而不是发生异常 —— robust Dynamic_cast 对象实现多个接口(续二) 一个对象实现IString2和IString接口: class IString { virtual void Delete()=0; virtual void *Dynamic_cast(const char *psz)=0; virtual const char*Find(const char *psz)=0; virtual int Length()=0; }; class IString

文档评论(0)

1亿VIP精品文档

相关文档