目录
JS 对象
在 JS 中,可以简单理解为对象是拥有属性和方法的数据。
属性
比如一只猫
cat.name = "薛定谔";
cat.color = "black";
name, color 就是一直猫的属性。
方法
一直猫会跑会睡觉。
我们通常使用方法描述对象的行为。
cat.run();
cat.sleep();
实际例子
- 定义
当我们定义一个字符串 text 时,就已经创建了一个 Stting 对象。
var text = "object";
- 属性
//将获得字符串对应的长度
text.length;
- 方法
//获取 j 的下标
var index = text.txt.indexOf("j");
面向对象术语
对象
对象是属性的无序集合,每个属性存放一个原始值、对象或函数。—— ECMA-262
个人理解,对象可以是任意事物的抽象。
万物只要有名字,就可以理解为是对象的属性。只要有行为,就可以认为是对象的方法。
类
类,是对对象的一种抽象说明。
对象是通过类来进行定义的。
实例
程序使用类创建对象时,生成的对象叫作类的实例(instance).
面向对象的基本能力
其实也是面试或者是各种书上都会提到的几点。
封装 - 把相关的信息(无论数据或方法)存储在对象中的能力
聚集 - 把一个对象存储在另一个对象内的能力
继承 - 由另一个类(或多个类)得来类的属性和方法的能力
多态 - 编写能以多种方法运行的函数或方法的能力