如果我在类B内声明了类型A的扩展功能:
php artisan make:model <ModelName> -a
我可以完全从类B之外的代码中调用此函数吗?
class A
class B {
fun A.foo() = "Hello"
}
答案 0 :(得分:1)
是:
with(b) {
a.foo()
}
使用B
接收器接受lambda的其他函数也可以正常工作。
答案 1 :(得分:0)
否,当您在B内定义A.foo时,已将函数有效地划分为该类。但是,您始终可以将其移到类之外...函数也可以是顶级的:)