继承
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
继承可以让一个类从另外一个类中获取已定义的属性和方法,通过继承可以让信息以一种层级的关系进行管理。
通常我们在讨论继承时会提到extends和implements这两个关键字,这使得我们可以很清晰的辨别一个对象是否是另外一种对象(IS-A关系),太抽象?让我们看看下面的例子:
// 动物
class Animal {
}
// 哺乳动物
class Mammal extends Animal{
}
// 爬行动物
class Reptile extends Animal{
}
// 狗
class Dog extends Mammal{
}
看了上面的例子关于继承的概念是不是清晰了很多?
- 动物是哺乳动物的基类
- 动物是爬行动物的基类
- 哺乳动物和爬行动物都是动物的子类
- 狗是哺乳动物和动物的子类
IS-A(是一个)是如何描述这种关系的呢?
- 哺乳动物是动物
- 爬行动物是动物
- 狗是哺乳动物
- 同时狗也是动物
instanceof关键字
instanceof关键字用来判断哺乳动物是否是动物,狗是否是动物等,它的返回值是一个boolean值,如果是那么就是真,否则就是假。也是说我们可以通过instanceof关键字判断父类与子类是否存在继承的关系。
在线练习
{$ activeFileHint $}