当前位置:  开发笔记 > 编程语言 > 正文

Crystal中的接口

如何解决《Crystal中的接口》经验,为你挑选了1个好方法。

是否有可能在Crystal编程语言中使用接口的概念?

接近的是模块,但它们似乎主要用于(和设计)命名空间处理?

所以问题更多的是Golang风格的接口.



1> 小智..:

您可以使用 abstract

abstract class Animal
  abstract def talk
end

class Dog < Animal
  def talk # You must implement talk
    "Woof!"
  end
end

class Person
  getter pet

  def initialize(@name : String, @pet : Animal)
  end
end

john = Person.new "John", Dog.new

john.pet.talk # => "Woof!"

Crystal Docs:虚拟和抽象类型

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有