Crystal 类 中的 < 符号有什么用?

What are < symbols in Crystal classes used for?

这个class中的<符号是什么,它的用途是什么?

class CommentSerializer < BaseSerializer
  def initialize(@comment : Comment)
  end

  def render
    {body: @comment.body}
  end
end

https://crystal-lang.org/api/0.33.0/Class.html#T.class):BoolforallT-instance-method

不确定这是正确的还是什么意思:

Returns whether this class inherits or includes other.

<表示继承。您应该将 class CommentSerializer < BaseSerializer 理解为 class CommentSerializer 源自 基于 BaseSerializer. CommentSerializer 继承 BaseSerializer 的行为:它获取所有实例变量和所有方法,而无需再次写出它们。这种继承的思想对于所有面向对象的编程语言都是通用的,因为它是表达代码重用的一种有用方式:BaseSerializer 中的所有内容在其子class 中保持不变,并且每个子class 添加 stuff/makes 更改以针对特定目的定制通用行为。

您找到的<符号是测试此关系的方法。它是一个表达式,与声明中的 < 不同(内置于语法中)。这个想法是您定义了 CommentSerializer < BaseSerializer,因此测试 CommentSerializer < BaseSerializer 将 return 为真。符号的重用是助记符。

Language reference