Skip to content

「変性」の継承関係の説明をコードに合わせて修正しました。 - #1143

Open
suin wants to merge 1 commit into
masterfrom
1130
Open

suin wants to merge 1 commit into
masterfrom
1130

Conversation

@suin

@suin suin commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

対象者

  • 📖 読者

Problem

「変性 (variance)」ページの「クラスの継承関係を使った例」セクションで、クラスの継承関係の説明が実際のコードと逆になっていました。

説明文は「AはBを継承し、BはCを継承しており」となっていましたが、直後のサンプルコードは class B extends A、class C extends B であり、実際は B が A を、C が B を継承しています。

このセクション以降の解説(「戻り値CはBのサブタイプなので」「引数AはBのスーパータイプなので」など)はコードどおりの継承関係を前提に書かれているため、読者は説明文とコード・解説のどちらが正しいのか判断できず、変性の理解に必要なサブタイプ/スーパータイプの向きを取り違えるおそれがありました。

Solution

説明文の継承関係をサンプルコードに合わせて修正しました。

- `A`は`B`を継承し、`B`は`C`を継承しており、メソッドを追加しました。
+ `B`は`A`を継承し、`C`は`B`を継承しており、それぞれメソッドを追加しました。

なお、同ページの「ユニオン型を使った例」(A = null / B = null | undefined / C = null | undefined | string)はクラスの例とは逆に A が部分型ですが、本文中でその旨が明記されているため変更していません。

Value

読者がサンプルコードと説明文の食い違いに戸惑うことなく、A・B・C のサブタイプ関係を正しく理解した上で、共変・反変・不変の挙動を読み進められるようになります。


Close #1130

## 対象者

- [x] 📖 読者

## Problem

「変性 (variance)」ページの「クラスの継承関係を使った例」セクションで、クラスの継承関係の説明が実際のコードと逆になっていました。

説明文は「`A`は`B`を継承し、`B`は`C`を継承しており」となっていましたが、直後のサンプルコードは `class B extends A`、`class C extends B` であり、実際は `B` が `A` を、`C` が `B` を継承しています。

このセクション以降の解説(「戻り値`C`は`B`のサブタイプなので」「引数`A`は`B`のスーパータイプなので」など)はコードどおりの継承関係を前提に書かれているため、読者は説明文とコード・解説のどちらが正しいのか判断できず、変性の理解に必要なサブタイプ/スーパータイプの向きを取り違えるおそれがありました。

## Solution

説明文の継承関係をサンプルコードに合わせて修正しました。

```
- `A`は`B`を継承し、`B`は`C`を継承しており、メソッドを追加しました。
+ `B`は`A`を継承し、`C`は`B`を継承しており、それぞれメソッドを追加しました。
```

なお、同ページの「ユニオン型を使った例」(`A = null` / `B = null | undefined` / `C = null | undefined | string`)はクラスの例とは逆に `A` が部分型ですが、本文中でその旨が明記されているため変更していません。

## Value

読者がサンプルコードと説明文の食い違いに戸惑うことなく、`A`・`B`・`C` のサブタイプ関係を正しく理解した上で、共変・反変・不変の挙動を読み進められるようになります。

---

Close #1130
@vercel

vercel Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
book Ready Ready Preview Sep 11, 2026 11:01am UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — a970683e Deployed Sep 11, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

誤植報告 変性 (variance)

1 participant