Statistical Programming

JavaとScalaの違いその3 ... アクセス修飾子はかなり省略

アクセス修飾子についてです。

javaではこれを省略した場合同じパッケージ階層からアクセス可能でしたけど、

scalaでは省略=publicとなり記述が楽になりました。scalaのアクセス修飾子は以下の順になっています。

 

省略;=public

protected[package name];指定されたパッケージ、クラス自身、サブクラスから可能

private[package name];指定されたパッケージ、クラス自身

private;クラス自身

 

ちなみに、scalaにはjavaにはないsealedというキーワードがあり、それをつけるとこのクラスと同じファイルで定義されているサブクラス以外はサブクラスを追加出来ないという意味になります!

どうやらサブクラスは作れるけど別ファイルで勝手に追加することができないようにするためのものらしいです。

 

では制御構造はどうなのか?

→if,while,do whileなどはほぼ同じですがforはかなり多機能。switch caseは使えず、代わりにmatch式を利用。

 

あ、それとwhileにてbreakやcontinueは使えないんですよ(breakに関しては途中から使えるようになった)。ですので、while文を書く時は以下のルールに則って書くといいそうです。

 

1. forは必ず指定した回数ループする場合のみに使いその他はwhileを使う

2. do whileではなくwhileを使う

3. whileの条件はendFlagのtrue/falseのみで制御

 

次回はforについて書きますー