<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite>Web IDL (Second Edition)</cite> (<time>2014-02-10 21:45:38 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://heycam.github.io/webidl/#dfn-inherit">http://heycam.github.io/webidl/#dfn-inherit</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> <cite>Web IDL (Second Edition)</cite> (<time>2014-02-10 21:45:38 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://heycam.github.io/webidl/#dfn-inherit-exception">http://heycam.github.io/webidl/#dfn-inherit-exception</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite>Web IDL (Second Edition)</cite> (<time>2014-02-10 21:45:38 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://heycam.github.io/webidl/#dfn-inherit-dictionary">http://heycam.github.io/webidl/#dfn-inherit-dictionary</anchor-external></li></ul></refs></section><section><h1>構文</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>は、<pre class="IDL example code">interface <var>derived-interface</var> : <var>inherited-interface</var> {
  ...
};</pre>... のように表します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>は、<pre class="IDL example code">dictionary <var>derived-dict</var> : <var>inherited-dict</var> {
  ...
};</pre>... のように表します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>は、<pre class="IDL example code">exception <var>derived-exception</var> : <var>inherited-exception</var> {
  ...
};</pre>... のように表します <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p></history></section><section><h1>インターフェイスの継承</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>が別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>から<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>継承</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherit</rt></rubyb></dfn>する場合、
前者に対して後者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承インターフェイス</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited interface</rt></rubyb>、
後者に対して前者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>派生インターフェイス</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">derived interface</rt></rubyb>といいます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>するのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>でなければなりません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>には通常の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コールバックインターフェイス</anchor>がありますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>関係にある2つの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>は同じ種類で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なければなりません</strong></anchor>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>が直接または間接に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">集合</anchor>を<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承インターフェイス群</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited interfaces</rt></rubyb></dfn>といいます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>自身は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承インターフェイス</anchor>ではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承インターフェイス群</anchor>に当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>自身が含まれていては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">循環</anchor>するような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>はできません) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承インターフェイス</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装</anchor>することになります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">多重継承</anchor>はできません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> ちなみにある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装</anchor>できるのは、特定の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>だけです
<src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src>。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> ただし <code xmlns="http://www.w3.org/1999/xhtml" class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">implements</anchor></code> によって事実上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">多重継承</anchor>は実現できます。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承インターフェイス</anchor>を持つ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>には <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ArrayClass</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張属性</anchor>や <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">MapClass</anchor></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張属性</anchor>を指定できません。</p></section><section><h1>辞書の継承</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>が別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>から<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>継承</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherit</rt></rubyb></dfn>する場合、
前者に対して後者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承辞書</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited dictionary</rt></rubyb>、
後者に対して前者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>派生辞書</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">derived dictionary</rt></rubyb>といいます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>するのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>でなければなりません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>が直接または間接に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">集合</anchor>を<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承辞書群</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited dictionaries</rt></rubyb></dfn>といいます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>自身は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承辞書</anchor>ではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承辞書群</anchor>に当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>自身が含まれていては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">循環</anchor>するような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>はできません) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書値</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実現値</anchor>) は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>とその<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>に対応するキーと値の組を持つことができます
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>のことは<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承メンバー</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited member</rt></rubyb>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src> と呼ばれています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書メンバー</anchor>の名前は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承メンバー</anchor>のものと衝突してはなりません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>とは違って<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上書き</anchor>できません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書メンバー</anchor>は、その所属する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承辞書</anchor>、
あるいは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承メンバー</anchor>が所属<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型</anchor>として含むような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型</anchor>としてはなりません
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor>における<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書メンバー</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">順序</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承メンバー</anchor>の後にそれ以外の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>とされています
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p></section><section><h1>歴史</h1><section><h1>例外の継承</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>から<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>継承</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherit</rt></rubyb></dfn>する場合、
前者に対して後者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承例外</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited exception</rt></rubyb>、
後者に対して前者のことを<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>派生例外</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">derived exception</rt></rubyb>といいます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>するのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>でなければなりません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>が直接または間接に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">集合</anchor>を<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>被継承例外群</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">inherited exceptions</rt></rubyb></dfn>といいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> 当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>自身は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承例外</anchor>ではありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承例外群</anchor>に当該<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>自身が含まれていては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">循環</anchor>するような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>はできません) <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> ある<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">被継承例外</anchor>も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装</anchor>することになります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">多重継承</anchor>はできません <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></src>。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> 現実に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例外</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">継承</anchor>が利用された例はありません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">Add support for interface mixins</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">tobie</anchor>著, <time>2017-10-11 16:48:12 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/heycam/webidl/commit/45e8173d40ddff8dcf81697326e094bcf8b92920">https://github.com/heycam/webidl/commit/45e8173d40ddff8dcf81697326e094bcf8b92920</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xml:lang="en">Tighten the grammar for the 'inherit' keyword (#704)</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Ms2ger</anchor>著, <time>2019-04-03 22:26:50 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/heycam/webidl/commit/a76db666b59eaaba9b6c294997a53198d45fe965">https://github.com/heycam/webidl/commit/a76db666b59eaaba9b6c294997a53198d45fe965</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <cite xml:lang="en">Tighten the grammar for the 'inherit' keyword by Ms2ger · Pull Request #704 · heycam/webidl</cite>
(<time>2020-01-12 13:54:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/heycam/webidl/pull/704">https://github.com/heycam/webidl/pull/704</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <cite xml:lang="en">ReadWriteAttribute production should not allow using &quot;readonly&quot; with inherit · Issue #703 · heycam/webidl</cite>
(<time>2020-01-12 13:54:23 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/heycam/webidl/issues/703">https://github.com/heycam/webidl/issues/703</anchor-external></p></section></section></body></html>