我想添加一个关于这个构造函数的简短说明｡
请记住, 每次实例化对象时都会调用此函数, 这就是我们创建自定义对象的方式｡
好吧, 我知道了
但这里有一件有趣的事情, 因为你可以控制实例化的发生,
你可以做不同的保护措施｡
例如, 我们暂时删除它, 因为我们不需要它｡
或者我们把它改成, 我们要检查用户是否超过18岁, 否则我们就运行这个程序｡
程序会出错, 因为我们只让18岁以上的人玩这个游戏,
因为它的等级是R, 所以我们可以在构造函数中做不同的事情, 以确保我们以正确的方式实例化对象｡
我们还可以给予默认参数, 如name可以是匿名的, 如果我们愿意｡
如果他们不提供名字, 那么年龄将是, 比方说, 零, 如果他们不提供年龄｡
假设我忘了实例化参与人一和参与人二如果我点击运行.
我得到了一个没有属性名的空中玩家对象｡
这是11号线｡
现在, 为什么我们没有自我的名字呢？
因为17号线上他们想打电话给Shout
但不幸的是, 我们从未实例化它, 因为当我们不提供任何东西时, 年龄将为零｡
所以我们永远不会用这些属性进行实例化｡
好吧, 我会的
所以我们就给予它吧汤姆｡
然后年龄是十岁｡
我们先把二号排除在外｡
如果我这样做, 玩家一侦察, 我点击运行｡
又一次, 我得到了一个错误, 因为, 嗯, 汤姆只有十岁｡
我们不打算创造这个角色｡
现在我们来谈谈错误｡
也许我们可以发送一条消息说, 嘿, 玩家还不够老, 而不是仅仅把这个错误排除在外｡
但现在, 我希望你们看到构造函数和对象实例化的强大功能,
我们可以添加这些不同的控制和保护措施, 以确保我们接收到正确的数据类型,
从而创建对象｡
也可能年龄超过18岁, 以确保当我们实例化这个playerone对象时, 我们是以正确的方式进行的｡
所以这个init给了你很多控制权｡