此类中的<
符号是什么,它的用途是什么?
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
不确定这是正确的还是什么意思:
返回该类是继承还是包含其他。
<
表示继承。您应该将class CommentSerializer < BaseSerializer
读为派生自或基于 CommentSerializer
的类BaseSerializer
。CommentSerializer
inherits BaseSerializer
的行为:它获得了所有实例变量和所有方法,而不必再次将其写出。继承的概念对于所有面向对象的编程语言都是通用的,因为它是表达代码重用的一种有用方法:BaseSerializer
中的所有内容在其子类中均保持不变,并且每个子类都添加了内容/进行了更改以定制该泛型特定目的的行为。
您发现的<
符号是对此关系进行测试的方法。它是一个表达式,与声明中的<
(内置在语法中)不同。这个想法是您定义了CommentSerializer < BaseSerializer
,因此测试CommentSerializer < BaseSerializer
将返回true。符号的重用是一个助记符。