A_ClassからB_Classを派生するとき A <--- B という風に描きますよね。
これは、 BはAを知っているからBは起点になると考えるとスッキリします。
ところが、OOPに馴染みの薄い人に説明した時、「逆でしょ」と突っ込まれることが多々あります。
「Aが成長してBになるのだから A-->B でないと理不尽だ」.....この種の反論が殆どです。
基礎クラスが大きく成長してBになる...と考えるみたいです。これは一つの見方なので悪くない思いますが、その延長で矢印の向きまで決め付けられると困ります。
ラムダ式などで x -> 式 と書きますが、これを "式の結果 が xになる" と理解すれば今後の理解が楽ですが、 "x=式" と解釈すると、"式 --> x " という考えになり、
"x <-- 式 と表記しないとオカシイ"と感じるようです。
我々は何気なく A=B や A<--B a=b => b * 23 などと書いて、皆に意味が通じるものだと錯覚しがちです。
業界人に説明する時でも、 a=b => b * 23 は補足説明を要する時があります 、 A <--B は 通じない時があります。
非業界人には A=B が通じない時があります。 "=" は等号であって "代入" とは見えないからです。
以前にも書いたのですが、プログラム言語は既存の記号を借用して、元の意味とは違う意味を持たして構文/文法を規定しているので、部外者に理解をされにくいのかもしれません。
「1つに表現に複数の意味を持たしては駄目」という原則に反しているような気もしますが、言語内では単一の意味だからいいのでしょうね。
といって、独自記号を設定する 記号言語風になってしまい、余計に判り難くなりますし.....wwww.
入門者の初期にに躓く高いハードルでもあります。
矢印以外に継承関係を表現できる書き方ってなんものでしょうかねぇ