特殊情况『1』
内部类不会自动引用其外部类的父类
# Info = "顶层info"
class Father
Info = "父类Info"
# puts Info
end
class Son < Father
# Info = "子类Info"
# puts Info
class Inner
# Info = "内部类Info"
puts Info
end
end
# puts Info
报错信息:
in `<class:Inner>‘: uninitialized constant Son::Inner::Info (NameError)
特殊情况『2』
对于内部类有继承其他类,优先使用外部类的资源。
Info = "Top Info"
class First
Info = "First Info"
end
class Second
Info = "Second Info"
class Inner < First
puts Info
end
end
output:
Second Info
优先级关系
内部类自己 > 外部类 > 内部类的父类 > 外部类的父类 > 顶层
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-12 21:28:54