把好几个名牌装进一个盒子:对象
键和值,是一个名牌配一个值(第11课)。 可「一个人」, 光靠一条是装不全的。 有名字、有年龄、还有住的地方。 把这好几个名牌装进一个盒子,就是对象。
一个盒子里好几个名牌
第11课的键和值,
是「苹果 → 水果」这样的一对。
可要写一个人,
光一条还不够。
名字、年龄、住处……需要好几对。
把它们装进一个盒子,就是对象。
把名牌一个个放进去。这些对聚成一个「人」盒子。
每一个名牌,还是键和值。
变的是,把散开的对,
装进了一个叫「人」的盒子。
那么,整个盒子会变成什么呢?
盒子,就是「一个东西」
把名字、年龄、住处分开拿着,
很快就乱了。
可一旦装进一个盒子,
那盒子本身,就成了「小民」这一个人。
你能把一整个人,整个地传来传去。
比比散开的对,和装成一盒的「人」。一装好,就当作一个来用。
现在「小民」不是一堆名牌,
而是一个带着属性的东西。
那么,从这盒子里,
只把「年龄」单独取出来,该怎么做呢?
用一个点,看进盒里
要取盒里的值时,
把盒子的名字和名牌一起叫。
像「小民的年龄」「小民的住处」。
常用一个点连起来写:小民.年龄 → 12。
指着盒子,点一下,再写想要的名牌。
点一个名牌。「盒子.名牌」就把那个值精准取出。
现在,整个盒子,或里面任一个值,
你都能自由地用了。
可人不止小民一个啊。
要做出好多个同样形状的人,怎么办?
同样的模子,不同的内容
一旦定好「人」里有哪些名牌
(名字、年龄、住处),
就能用那个模子做出好多人。
小民、小拉、汤姆都有同样的项,
但里面装的值各不相同。
用模子做出好几个人。项一样,只有值不同。
用一个模子不断做出同样的形状,
方便,也少出错,
因为名牌的名字都统一了。
这简单的一包,其实就是程序的大半。
盛装真实世界的容器,以及更远处
游戏角色(名字·体力·等级)、
商品(名称·价格·库存)、用户(账号·邮箱)。
程序处理的,大多是这样的对象。
把世界上的「东西」装进盒子来对待。
下一课,我们看相似的对象之间,怎么继承共同之处。
角色、商品、用户。点着看。全是同样的「装进盒子的东西」。
用键和值(第11课)学了对,
如今把那些对,打包成了「一个东西」。
散开的信息,成了有意义的事物。
下一课,我们看相似的东西,
怎么把相似的部分传下去:继承。