你不知道的JS系列上( 40 ) - 什么是类

好的设计就是把数据以及和它相关的行为打包(封装)起来,这在正式的计算机科学中有时被称为数据结构

用来表示一个单词或者短语的一串字符通常被称为字符串。字符就是数据。但是你关心的往往不是数据是什么,而是可以对数据做什么,所以可以应用在这种数据上的行为(计算长度,添加数据,搜索等)都被设计为 String 类的方法。所以字符串都是 String 类的一个实例,也就是它是一个包裹,包含字符数据和我们可以应用在数据上的函数

"汽车"可以看作“交通工具”的一个特例。在软件中定义为 Car 类和 Vehicle 类。Vehicle 的定义可能包含引擎,载人能力到呢个大呢个,这些都是 Vehicle 的行为。我们在 Vehicle 中定义的是所有类型的交通工具包含的东西。定义 Car 时,只要声明它继承了 Vehicle 的这个基础定义, Car 的定义就是对通用 Vehicle 定义的特殊类

虽然 Vehicle 和 Car 会定义相同的方法,但是实例中的数据可能是不同的,比如每辆车独一无二的车辆识别号码

这就是类、继承和实例化

类的另一个核心概念是多态,这个概念是说父类的通用行为可以被子类用更特殊的行为重写。类理论强烈建议父类和子类使用相同的方法名来表示特定的行为,从而让子类重写父类。在我们之后会看到,在 JS 代码中这样做会降低代码的可读性和健壮性。
posted @ 2020-04-01 06:35  wzndkj  阅读(361)  评论(0编辑  收藏  举报