Statyczne klasy wewnętrzne w scali
Co jest analogiczne w Scali w Jawie:
public class Outer {
private Inner inner;
public static class Inner {
}
public Inner getInner() { return inner; }
}
Szczególnie chcę, aby moja klasa wewnętrzna byłanie muszą mieć w pełni kwalifikowaną nazwę - tzn. chcęTrade.Type
, nieTradeType
. Tak więc w Scali wyobrażałem sobie, że może to być coś w stylu:
class Outer(val inner: Inner) {
object Inner
}
Ale to nie działa: moja scalaInner
po prostu nie wydaje się być widoczny z zewnątrzOuter
klasa. Jednym z rozwiązań byłoby oczywiście:
class Inner
class Outer(val inner: Inner)
Co jest w porządku - ale z powodu nazw moich klas,Inner
jest naprawdę „typem”Outer
iOuter
faktycznie ma długą nazwę. Więc:
class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)
Co jest gadatliwe i okropne. Mogę zastąpićSomeHorriblyLongNameType
z justType
ale wtedy nie byłoby oczywistego związku między nim a klasą, z którą był powiązany. Uff