‫欢迎回来｡
‫在本视频中, 我们将了解一下可以创建的不同数量的构造函数｡
‫它们是无限的, 至少, 至少和你内存中的空间一样大, 但是你可以创建很多构造函数｡
‫这就是大致的想法｡
‫在上一个视频中, 我们创建了一个构造函数, 该构造函数是一个参数化构造函数｡
‫参数化构造函数｡
‫现在我们不需要创建参数化的构造函数｡
‫我们甚至可以创建一个非参数写构造函数｡
‫所以一个默认的构造函数｡
‫我们在顶部创建一个默认的构造函数, 我把它命名为public human.
‫在这里我要在控制台上写些东西｡
‫所以请看W构造函数被调用或者你甚至可以说对象被创建｡
‫差不多就是这样了, 没别的了｡
‫现在如果我这样做, 正如你所看到的, 我们有一个参数化的构造函数, 现在我们也有一个默认的构造函数｡
‫预设建构函式｡
‫我们可以创建一个人类类型的对象, 它还没有任何进一步的信息｡
‫所以人类, 我称之为基本人类, 是一种新人类.
‫就这样了｡
‫所以现在的人类基本不知道如何还原自己｡
‫当然, 我们可以称这种方法为基本人类自我介绍, 但不会给出太多信息｡
‫所以如果我们调用它, 我们说构造函数调用对象创建｡
‫嗨, 我是零岁｡
‫我的颜色没有给出任何信息, 因为这个基本的人类, 就像我说的, 它没有任何进一步的信息｡
‫正如你所看到的, 我们已经有了两个不同的构造函数, 但我们甚至可以创建更多的构造函数｡
‫所以我们甚至可以继续复制这个｡
‫所以让我们复制之前的构造函数｡
‫假设我们不知道年龄, 所以我们只知道其他信息｡
‫现在我们可以继续创造一个没有年龄的人｡
‫假设我们没有索马里时代｡
‫我们可以删除它, 然后重新运行代码｡
‫所以现在它说, 嗨, 我是索马里, 零岁｡
‫我的颜色是蓝色, 它写的是0, 因为如果一个空值是空的, 就像我们的例子H, 一个整数是空的｡
‫它将默认为零｡
‫所以H被初始化为0, 即使我们不初始化它｡
‫如你所见, 它显示的是零岁, 尽管我们没有输入任何内容｡
‫那么我们如何解决这个问题呢？
‫我们该怎么解决这个问题？
‫我们可以修改整个自我介绍的事情, 这样我们就可以说, 好吧, 如果有人是或如果有任何年龄｡
‫假设年龄不相等, 零｡
‫继续, 在这里写下这一条｡
‫我将在这里做一些改动｡
‫所以我要改变它｡
‫所以如果年龄不相等｡
‫零, 对吧？
‫那和ls只介绍自己的名字, 姓氏和颜色｡
‫所以去掉H, 去掉｡
‫这一个有年头了｡
‫现在我们再来一遍｡
‫我们实际上得到了一个错误｡
‫让我检查一下, 因为我没有更改该值｡
‫好吧, 我会的
‫现在我们可以再运行一次｡
‫现在我们明白了｡
‫我是丹尼斯｡
‫废话, 废话｡
‫那就好｡
‫我是阿玛莉亚·帕内塔｡
‫我的眼睛是蓝色的｡
‫所以现在amalia, 因为没有年龄给出, 被使用或对待不同的方式, 她介绍自己不同｡
‫为什么这有用？
‫为什么我们会有这个？
‫假设你想写一个程序, 它从数据库中获取用户数据, 然后它应该对这些数据做一些事情｡
‫所以它应该做一些计算或者应该写一些信息给他们或者其他什么｡
‫因此, 如果您有关于该用户的所有信息, 那就没问题｡
‫然后你可以创建一个表格, 你可以把所有的信息添加到表格中, 你可以把它打印出来,
‫并把它发送给那个人或任何人｡
‫但如果您遗漏了一些信息, 该怎么办？
‫假设你没有年龄｡
‫那你就别在表格上写年龄了｡
‫但如果有更重要的东西, 如地址丢失？
‫你为什么要打印出来
‫因为你不能把它发给那个人｡
‫所以你要写一个不同类型的代码｡
‫所以你可以说, 好吧, 我在收集所有没有地址的人, 我在做别的事情｡
‫我在Facebook上查他们的名字之类的｡
‫所以程序会检查Facebook的API｡
‫有没有一个人的名字和姓氏和年龄？
‫然后Facebook会给予出信息, 该程序可以对那个人进行一些进一步的调查｡
‫这就是我在这里所说的一些数据敏感的东西｡
‫但一般而言, 使用不同的信息为创建构造函数是非常有用的｡
‫一个有四个参数, 一个有三个参数｡
‫我们仍然可以用两个或一个来创建一个｡
‫所以这对你来说是个小挑战｡
‫调整参数, 使您拥有所有四种情况或实际上五种情况｡
‫所以这是默认的构造函数｡
‫现在, 请继续为名字和姓氏创建一个不同的构造函数, 另一个只为名字创建｡
‫然后当然相应地调整自我介绍的方法｡
‫好吧, 我会的
‫我希望你试过了｡
‫我现在要做的就是把代码复制到这里｡
‫我要把眼睛的颜色去掉｡
‫就这样了｡
‫这是另一个构造函数｡
‫现在我要复制它并去掉姓氏｡
‫好吧, 我会的
‫我们把姓去掉｡
‫当然, 现在我们还需要调整我们的方法｡
‫是这样｡
‫他们自我介绍的方法｡
‫这里我们有一个例子, 当H不为零时, 假设现在姓不相等.
‫还有什么呢？
‫I颜色不等于null和最后我们的名字, 所以我们可以有一个不同的顺序｡
‫但最后还是没事｡
‫如果所有这些值都不等于null, 那么我就继续, 否则, 如果我想在这里做一个不同的检查.
‫所以我在这里复制这个if, 在下一个中, 如果我们没有一个相等的, 那么我们可以去掉这个,
‫现在我们再复制一次.
‫现在我们缺少H, 所以我们去掉H.
‫现在我们终于有了一个没有姓氏的版本｡
‫所以现在我们当然需要调整报表｡
‫如果我们有名字, 还有姓氏, 还有H, 这里我们只有H,
‫那么我们要写一些关于H和I的东西, 以此类推｡
‫这么老了｡
‫就这么两岁｡
‫现在我们不需要了｡
‫现在就去
‫如果我们知道年龄, 如果我们知道姓和名, 对吗？
‫所以现在我们只有名字和姓氏, 这样我们就可以摆脱整个颜色方面｡
‫现在我们只知道名字了, 对吧？
‫所以除了名字, 其他的都去掉吧.
‫所以现在我们的自我介绍方法将是干净的, 它总是会告诉我们什么是可用的｡
‫我们创造了一个新的人类, 而不是一个基本的人类, 但我们把这个人类叫做Nataly, 那个飞跃｡
‫她是一个新人类我们只知道她的名字｡
‫现在, 娜塔莉, 请介绍一下你自己｡
‫也许我们不应该用大写字母｡
‫娜塔莉, 自我介绍一下.
‫现在我们有一个有姓氏的｡
‫如此人性化｡
‫我再打给迈克尔｡
‫好名字, 新人类迈克尔｡
‫它不是人类, 但它是人类｡
‫这个迈克尔要做自我介绍迈克尔应该有个姓.
‫所以我要打电话给迈克尔·米勒｡
‫现在最后一个版本, 人类, 坦白说, 是一个新人类｡
‫是弗兰克｡
‫这个人叫沃尔特, 很有趣的姓氏｡
‫然后他有一个H
‫假设他是｡
‫事实上, 我们没有那个版本.
‫我们没有只有边缘, 但没有颜色的版本｡
‫这是我们可以创建的另一个构造函数｡
‫事实上, 我们可以这么做｡
‫让我们创建一个不同的｡
‫我只是要复制｡
‫事实上, 我打算复制这一个｡
‫参数就在这里, 我把它放在这里, 但是我会去掉I颜色, 我也会去掉眼睛的颜色｡
‫所以现在, 当然, 我不得不调整我的自我介绍的事情｡
‫但在这里我想让弗兰克25岁, 我想让弗兰克介绍自己｡
‫所以你现在看到了, 它总是一样的｡
‫我们只需要根据现有的参数进行调整, 然后继续运行代码｡
‫所以我们是｡
‫嗨, 我是娜塔莉｡
‫嗨, 我是迈克尔·米勒｡
‫我是弗兰克·沃尔特, 25岁, 等等｡
‫好吧, 我会的
‫现在你已经看到了如何创建多个不同的构造函数, 你可以看到我们有一个默认的构造函数, 它不带任何参数｡
‫然后我们有不同的, 有多个不同版本的参数数量｡
‫好极了｡
‫现在你知道了, 我们应该看看属性, 它们非常有用,
‫非常有用, 我们将看看如何在不公开变量的情况下更改值｡
‫因为你必须非常小心地使用你创建的类的公共变量, 因为如果你改变了这些变量, 会非常棘手｡
‫可能会有很多安全问题, 如果你不想了解更多, 我有一个链接, 我已经与你分享｡
‫您可以查看该内容, 并更详细地阅读此处使用private的目的以及为什么它很重要｡
‫所以我想说, 在下一个视频中我们会看到你, 在那里我们将讨论财产, 是的, 玩得开心｡