# 承

**让子类继承父类的字段与方法。**

```xuantie
型 动物 {
    设 名字
    函 造(名) { 此.名字 = 名 }
    函 叫() { 示("发出声音...") }
}

型 猫 承 动物 {
    覆 函 叫() { 示("喵") }
}
```

## 你可以……

- **在子类里新增自己的方法与字段**——父类成员照常可用:

```xuantie
型 猫 承 动物 {
    覆 函 叫() { 示("喵") }
    函 抓老鼠() { 示("#{此.名字} 抓到了老鼠!") }
}
```

- **多态**——不同子类放进同一数组统一调用,按实例的实际类型分派:

```xuantie
设 动物们 = [造 猫("叮当"), 造 狗("旺财")]
遍历 动 于 动物们 {
    动.叫()
}
```

## 注意

- 同名方法无论写不写 `覆` 都会覆盖父类实现(编译器按名字合并)——小心误覆盖。
- 子类定义了自己的 `造` 后,父类构造不会自动调用;父类字段仍按声明初始值初始化。
- 只支持单继承:`承` 后跟一个父类名。

## 相关

[覆](覆.md) · [型](型.md) · [造](造.md) · [护](护.md)