見出し画像

伝授!Javaの奥儀 その99 ~sealed は、まさに継承の血筋を制す封印の術~

奥儀 その99

sealed は、まさに継承の血筋を制す封印の術

それでは、この sealed class を用いた御触れのごときコードを、解き明かして進ぜよう。

 

🏯 一、全体の構え

public sealed class Sample permits A {}
final class A extends Sample{}

これは、Javaの 「封じたる継承(sealed classes)」 を用いた構文。
すなわち――「拙者の跡を継ぐ者は、この者に限る!」という継承制限の令なり。


⚔ 二、sealed class Sample permits A {} とは

ここに示されたる sealed なる印、これは「封建制」のごとく、
Sample 殿が
跡継ぎを許す者を明示しておる。

 public sealed class Sample permits A

この一文は、かような意を持つ:

「この Sample 殿の名を継ぐことを許されし者は、ただ A に限る」

 

つまり、他の者どもが Sample を継ぐことは一切許されぬ
この permits にて、継承の道を封じ、限られし者のみに託すのじゃ。


🛡 三、final class A extends Sample{} の義

さて、A 殿はその Sample の継ぎ手として名を連ねておる。
そして final の印もつけられておるゆえ、

 final class A extends Sample

とは、つまり:

「この A 殿を以て、Sample の血筋は断たれる」

 

final とは、それ以上の継承を断つ封印なれば、
Sample → A の系譜で終焉となる定めじゃ。


📜 四、封じたる継承(sealed)の掟

Javaにおける sealed の掟は以下のとおり: 

 

したがって、sealed class の継承者は、
どれかしらこの三種の明示が必須となる。


🎌 五、結び

このコードは、まさにこう申せましょう:

「Sample 殿、己の跡を A 殿にのみ託し、A 殿はそれをもって家を終える。
他の者どもは手を出すこと叶わぬ。封建の厳しき令なり。」

 

Javaの sealed 機能は、まさに継承の血筋を制す封印の術
仕様を絞り、安全と明示を保つ道理なれば、家臣たる開発者にも大義ある仕組みと心得よ。

拙者、本日は岐阜県は岩村城に佇む


下に記したる書物を拙者、参考にさせていただいておる次第!

さらば、次回も何卒よろしくお願い仕る!

いいなと思ったら応援しよう!