‫欢迎回来｡
‫我希望你能尝试完成这个挑战, 你必须创建几个类和子类或几个派生类｡
‫是的, 让我们开始吧｡
‫因此, 让我们创建一个名为Employee的新类｡
‫而这名员工应该有几条信息｡
‫首先是名称, 我会继续进行prop, 它是一个字符串属性, name.
‫然后我们有另一个, 道具串, 名字｡
‫第三种是芹菜｡
‫现在我们有了这三个属性, 我们可以继续创建｡
‫建筑工人, 公务员, 还有一个名字, 一个名字和一份薪水｡
‫当然, 我们需要设置这些参数｡
‫所以这个点的名字就叫这个｡
‫第一名就是第一名｡
‫这个点工资就是工资｡
‫好了, 这就是我们的构造函数｡
‫然后就｡
‫我们的员工应该有工作和POS方法｡
‫所以让我们创建那些公共的空工作｡
‫这里应该写着我在工作｡
‫然后一个是空白, 叫做停顿, 它会写一些东西, 就像我在休息｡
‫好吧, 这就是我们的员工｡
‫现在我们要从该雇员继承并创建一个名为Boss的新类｡
‫所以实际上这两者都是｡
‫让我们改变这一点｡
‫让我们删除这个类, 然后创建一个新的类｡
‫我们可以重新命名它, 但创建一个新的更方便, 实际上老板喜欢这样｡
‫而且既然老板应该有自己的财产｡
‫如这里所述｡
‫所以我们回去吧｡
‫使用名为Company Car的属性和方法lead创建您自己的类boss｡
‫我们来创建这些属性, 这个属性应该是字符串, 我把它命名为company car.
‫然后是public void lead方法｡
‫这张会说我是老板之类的话｡
‫CW老板｡
‫这里的英语真不错｡
‫我是老大｡
‫现在, 我们应该继续创建另一个员工驾驶类, 称为培训生或学员, 属性为工作时间､
‫学习时间和学习方法｡
‫所以我们就这么做吧｡
‫让我们建立一个名为的新类别｡
‫实习生｡
‫顺便说一句, 那个实习生, 老板并不是从员工那里衍生出来的, 所以应该加上那个员工｡
‫我们的实习生也是一样｡
‫它也来源于雇员｡
‫而现在, 正如你所看到的, 正如它没有一个｡
‫好像我们没有一个空｡
‫构造函数在这里｡
‫它在抱怨｡
‫我将创建一个空的and结构, 它只表示名字默认为Dennis,
‫然后名字默认为Dennis｡
‫在我的情况下, 姓氏应该是双关语犹他州｡
‫然后我们有工资, 这只是要让我们保持简单, 5万美元, 不是很准确,
‫我们甚至没有谈论货币｡
‫好吧, 我会的
‫现在如果我们这样说, 你会看到错误消失了, 因为如果我没有这个｡
‫等一下, 我们把它处理掉｡
‫它会或者它会在这里不快乐｡
‫所以你说没有给定的参数对应于employee字符串string int所需的形参名称｡
‫因此, 要么这样, 要么我们必须在boss类中实现一个构造函数｡
‫我觉得我们还是应该这么做｡
‫我们就这样做吧, 因为如果我们创建一个老板, 我们希望通知或添加有关该公司汽车的信息｡
‫所以让我们创建一个公共老板, 它将采取一个字符串称为公司汽车｡
‫公司的车, 然后一串叫名字, 一串叫名字, 一个整数叫芹菜根｡
‫现在我们可以说, 这辆. company car等于comp per ne car.
‫现在其他的都不见了｡
‫当然, 我们可以继续说, 这个点name等于name,
‫但是我们甚至可以用一个叫做base的东西来使它更简单｡
‫所以我们用的是基本名､ 名字和薪水｡
‫所以它只是简单地使用了我们这里的方法｡
‫这里的这个, 它使用这个构造函数.
‫所以我们不需要在这里写所有的初始化｡
‫好吧, 在我们做其他事情之前, 先测试一下｡
‫因此, 让我们创建一个雇员｡
‫或者, 我们来创造一个老板｡
‫让我们来看看一个雇员｡
‫因此,
‫员工将是迈克尔, 我的公司, 他是一个新员工, 现在我们可以继续这样做｡
‫那就是丹尼斯｡
‫这里只需要这个构造函数, 但我更愿意告诉大家真实的的迈克尔, 所以是迈克尔·米勒,
‫他的薪水是4万.
‫当然, 现在我们可以调用Michael的方法｡
‫迈克尔迈克尔
‫和我们过得很好, 他应该工作, 所以请继续工作吧｡
‫迈克尔, 继续传球｡
‫然后最后控制台托德里德键, 以保持控制台打开｡
‫让我们来测试一下｡
‫而我们是｡
‫所以他先工作, 然后休息, 这很好｡
‫好家伙, 迈克尔｡
‫现在我们可以继续创建一个老板了｡
‫所以我们继续说boss, 我会跟注｡
‫查克·诺里斯要当新老板了｡
‫他需要一辆公司的车
‫法拉利会是什么, 然后是名字｡
‫这是诺里斯｡
‫然后名字就叫查克, 薪水就超过9000美元｡
‫所以只有一个非常高的值, 它实际上不接受这个值｡
‫所以这对一个整数来说太难承受了｡
‫所以查克赚了很多钱, 现在我们可以让他领导｡
‫所以让查克·诺里斯做我们的领袖, 他将领导我们｡
‫让我们看看他怎么说｡
‫他说, 我是老板｡
‫当然, 我们可以继续添加一些关于他所说的内容的信息｡
‫我的名字是｡
‫然后我们就用他的名字之类的东西, 你甚至可以添加一些关于他工资的更多信息, 所有这些东西｡
‫这不是练习的一部分, 但我只是在这里加上它｡
‫我们有了更多关于这个人的信息, 我将从名字开始, 然后我将继续到姓氏,
‫或者实际上是名字｡
‫如您所见, 我可以使用它们, 即使我没有在我的老板中创建这些属性,
‫因为我是从雇员那里继承的｡
‫如果我们再查一遍老大, 我叫查克·诺里斯, 这太棒了｡
‫所以查克·诺里斯是我们的老板｡
‫现在, 我们的学员也需要做一些事情,
‫所以他应该有自己的属性, 一个是他的工作时间, 工作时间, 另一个是他的学习时间或学校时间｡
‫所以应该是他在家学习意义上的学习时间｡
‫但实际上, 我不知道你是否了解德国的培训制度｡
‫你有一个为期三年的培训系统, 你在其中学习一份工作, 它类似于嗯, 它不是真的类似于大学,
‫但这很像十年后的学校, 你去那里, 你去这里,
‫你学习一份实习工作, 你这样做了三年｡
‫之后, 你是一个专家, 不是专家, 但你受过良好的教育, 可以把工作做得很好｡
‫所以你有60%的工作时间, 甚至80%的工作时间, 然后一天上学｡
‫所以你去学校是为了学习关于手头任务的更详细､ 更重要的信息｡
‫这对德国来说非常有效｡
‫所以我们不需要每个人都上大学才能找到一份好工作, 也不需要每个人都上大学才能找到一份好工作｡
‫所以这是一个很好的选择｡
‫好吧, 我会的
‫这里有一个小提示, 现在我们来创建一个实习构造函数, 它需要工作时间, 然后是学校时间,
‫一个名字,
‫一个名字, 字符串, 名字, 颜色, 我想是这样的, 还有int工资｡
‫现在我们也使用了base｡
‫如果你没那么做, 那也没关系｡
‫别担心｡
‫只是想让你知道你能做到｡
‫名字和薪水｡
‫我只需要从基类中取这些值, 现在我只需要分配工作时间.
‫实际上, 我想在这里有一个起始工作时间, 这将是我们的工作时间, 然后这个点的学校时间,
‫这将是我们的学校时间, 就这样, 对吗？
‫名字､ 名字和薪水都来自基类｡
‫现在我们需要学习方法｡
‫是什么｡
‫学习和工作, 现在工作｡
‫受训者的工作方式应与实习生稍有不同｡
‫老板还是员工｡
‫所以我们学习｡
‫在这里我们就写这样的东西｡
‫CW我学习了这么多个小时, 这将是学习时间或学校时间｡
‫就像这样
‫现在最后一个方法将是public void work｡
‫现在这个应该覆盖我们的employee方法控制台, 点, 右行｡
‫我工作0小时｡
‫而且是零分｡
‫我不是说零｡
‫我是说工作时间｡
‫如果你看到它写着hidden, 继承的成员, employee,
‫work, used, 如果hidden是有意的, 就用新的关键字, 我们会在下一章讨论多态性的时候详细介绍｡
‫但现在我们只需要创建一个新员工, 这次将是一个实习员工｡
‫所以我打算叫她米歇尔, 她将是新的实习生｡
‫米歇尔, 她需要工作时间.
‫假设她一周工作32小时｡
‫然后她每周去学校8小时｡
‫她叫米歇尔·加德纳｡
‫是这样｡
‫米歇尔和她的薪水是大约1万美元一年｡
‫好吧, 我会的
‫现在让我们来问一下米歇尔学习的情况｡
‫进展如何？
‫然后是米歇尔的工作｡
‫现在让我们运行它, 你会看到会发生什么｡
‫它说, 我学习8小时, 工作32小时｡
‫我们已经覆盖了它, 我们只是使用了完全相同的方法｡
‫那就工作吧｡
‫名字一样｡
‫这一个不是虚拟的, 我们覆盖了它｡
‫它在抱怨｡
‫或者它不是真的在抱怨, 而是说有些事情不太对劲｡
‫这很完美, 因为它有助于我们进入下一章, 在那里我们会讨论多态性, 关于重写方法,
‫因为到目前为止, 我们只使用了一种方法, 但实际上有多种方法.
‫例如, 如果我创建了一个public new void work, 它将为我创建一个新的方法｡
‫在我们的例子中, 它做了同样的事情｡
‫但是当涉及到多态性时, 这将对我们的程序产生巨大的影响｡
‫所以我希望你能做到｡
‫这只是一个不同的练习, 一个新的练习, 另一个你要再次测试的练习,
‫你是否能处理它, 你是否能创建子类, 只是为了更好地理解类或基类和派生类是如何一起工作的,
‫以及如何构建它们等等｡
‫好极了｡
‫下一章我们将讨论多态性｡