‫欢迎回来｡
‫在本视频中, 我们将使用上一个视频中的理论知识, 但我们将在此处进行演示｡
‫所以我们要创建我们自己的类, 这是一个数据类型的蓝图, 所以我们可以通过创建类来创建我们自己的数据类型｡
‫类可以有属性, 类可以有方法等等｡
‫因此, 让我们继续创建一个新类｡
‫我将右击我的C商店级别, 在这里创建一个新类, 我将把它命名为human.
‫CSS｡
‫所以现在我们继续｡
‫在我的人类类中, 我想创建成员｡
‫例如, 成员是变量, 成员可以是方法等等,
‫它们被称为成员是因为它们是特定类的一部分｡
‫假设我有一个成员变量, 对于人类来说, 比如, 一个名为first
‫name的字符串, 这是一个很好的成员变量.
‫所以这个人类｡
‫是我们的数据类型所以我可以创建｡
‫一个物体掉下来了｡
‫所以我现在要创造一个人类, 我把它叫做人类｡
‫丹尼斯是一个新人类, 我就是这样做的｡
‫这就是我如何创建类的对象｡
‫或者也叫人类的实例｡
‫所以这个实例叫做Dennis, 现在这个Dennis有了名字｡
‫所以如果我想改变名字, 有多种方法可以实现｡
‫你可以用一个构造函数来实现, 我们现在就要这么做.
‫别担心｡
‫我们要做到这一切｡
‫但在这段视频中我会保持简单｡
‫所以你首先要明白这实际上是一个蓝图｡
‫所以人类阶级现在是一个蓝图｡
‫假设我想自我介绍一下｡
‫因此, 这个人类类别具有多种能力或技能｡
‫比如说, 你可以喝酒｡
‫好吧, 你能喝多少或者你喝多少？
‫所以每次你喝酒, 你都可以有一个参数｡
‫你喝了多少？
‫为了了解你体内的水分含量, 我们假设水分含量从0到100｡
‫你的水分有多充足？
‫每次你喝酒, 让我想想, 比如说半升｡
‫然后它会增加你的水化水平30%或40%｡
‫这就是你如何设计一个人来进行编程｡
‫所以我要做的就是创建一个方法来介绍我.
‫这将是一个成员方法因为它是我的人类类的一部分, 这是一个蓝图.
‫所以这个类是一个数据类型的蓝图, 这个方法是一个void, public void, 自我介绍一下｡
‫它只会在控制台上写些东西｡
‫它会写这样的东西, 你好, 我是｡
‫然后它会写上名字｡
‫好吧, 我会的
‫所以现在, 如您所见, 名没有值｡
‫如果我想把一些东西存储到丹尼斯里, 如果我想改变名字, 我做不到｡
‫那是因为它是受保护的, 它是受保护的, 因为在那之前没有公众｡
‫所以如果你不添加一个public变量, 这个变量将被保护起来, 不能从外部访问｡
‫所以在这个类之外, 我仍然可以在这个类中使用它, 正如你们所看到的, 因为我已经在这里使用过了,
‫没有问题｡
‫但是如果我把它公开了, 我现在也可以从我的程序CSS中使用它, 所以我可以简单地说丹尼斯的名字, 我将设置它｡
‫我把它设为丹尼斯.
‫现在我来介绍丹尼斯｡
‫丹尼斯就这样自我介绍一下｡
‫你看, 这就是我如何从外部访问私有变量, 或者实际上是公共变量｡
‫甚至改变它｡
‫这就是我如何调用类的方法, 或者在这个例子中, 调用对象的方法｡
‫所以丹尼斯是人类类型, 也就是说它是这个类类型｡
‫这是一个蓝图, 它有一个方法叫做自我介绍｡
‫这就是我要调用的方法｡
‫因此, 如果我运行代码, 为了在控制台上看到一些东西, 我还希望读取密钥,
‫这样我的控制台就不会立即关闭｡
‫而且我们是那么的高, 丹尼斯是写在控制台上的｡
‫假设我创造了一个新的物体, 我称之为人类｡
‫迈克尔是一个新人类｡
‫现在如果我介绍迈克尔, 那么介绍我自己｡
‫如果我像这样运行代码, 你会看到它只是说高空白空间｡
‫那是因为我们没有设置迈克尔的名字｡
‫假设我们要在这里直接保存名称或更改名称｡
‫所以我要说, 迈克尔, 让我们来测试一下｡
‫让我们运行代码｡
‫在这种情况下, 它实际上是可行的｡
‫所以它会说, 你好, 我是丹尼斯, 你好, 我是迈克尔｡
‫我们在这里要做的是, 我们说每个人都叫迈克尔, 只要你不改变它｡
‫所以丹尼斯实际上已经改了名字, 但是迈克尔从来没有改过｡
‫所以迈克尔还是迈克尔｡
‫但是如果我们, 比如说, 把名字迈克尔改成迈克尔或者类似的名字｡
‫假设他想用另一种语言来介绍自己, 他会被称为Michael, 或者,
‫比如说, Michael是一个选项.
‫它将被覆盖｡
‫而我们看到的｡
‫嗨, 我是丹尼斯｡
‫嗨, 我是迈克尔｡
‫好吧, 我会的
‫所以这就是你如何确保它总是一样的｡
‫所以这个变量的名字总是一样的, 除非你改变它｡
‫所以现在我把它设为私有, 让我停止｡
‫我把它设为private字符串, Michael现在我会收到一个错误, 因为我不能修改名字,
‫因为它现在是private字符串｡
‫所以无论是丹尼斯还是迈克, 迈克尔还是迈克尔现在都不能改名字了｡
‫所以这两个物体将是｡
‫一样的｡
‫所以它会是｡
‫嗨, 我是迈克尔｡
‫我是迈克尔｡
‫所以它们没有任何不同｡
‫所以现在你明白了为什么在这里公开这个方法是有意义的｡
‫它实际上是一个公共方法, 把它变成私有的似乎没有什么意义, 因为现在我不能改变它｡
‫事实上, 正如我所说, 有多种方法可以改变它｡
‫其中之一是创建属性｡
‫另一个是创建构造函数, 我们两个都要做.
‫在下一个视频中, 我将从构造函数开始, 在那里你将看到如何继续｡
‫所以现在, 首先, 给你们一个小小的挑战｡
‫所以创建一个公共变量的类型为字符串改变姓氏, 自我介绍的方法｡
‫所以它告诉了整个名字｡
‫所以它不仅说名字, 还说姓氏｡
‫然后在我们的程序CSS中创建两个具有关于它们自身的完整信息的对象｡
‫所以在主方法中｡
‫好吧, 我会的
‫我希望你暂停视频, 并尝试这样做｡
‫我们继续吧, 我会把它公开, 以姓氏为主角, 现在是空的.
‫这里也一样｡
‫我打算把这个名字改成不叫迈克尔了因为不是每个人都叫迈克尔.
‫那我就换衣服｡
‫自我介绍的时候也说出了姓氏｡
‫所以我需要你的姓｡
‫现在, 让我们创建两个对象, 它们具有关于自身的完整信息｡
‫所以我打算除掉｡
‫所以让我把这里的东西都清理干净｡
‫首先, 人类, 我会叫她茜茜是一个新人类, 现在茜茜有了名字.
‫所以她的名字是茜茜, 她的姓氏是｡
‫其实我不知道茜茜姓什么｡
‫我去叫个瓦格纳｡
‫然后是茜茜, 她介绍了自己, 介绍了我自己, 现在我们有了一个不同的人, 人类的正面,
‫新人类｡
‫而这个额状面将被称为实际额状面｡
‫这是一个很不寻常的名字, 但它是一个非常古老有趣的名字, 一个奥地利人｡
‫前面的姓是米拉｡
‫你也可以自己写｡
‫你不需要用这个特殊的标志｡
‫好吧, 我会的
‫那个人也应该自我介绍一下｡
‫所以他要说的是自我介绍｡
‫让我们运行代码看看｡
‫嗨, 我是茜茜瓦格纳｡
‫嗨, 我是弗兰兹·冯·米勒｡
‫我们就这样了｡
‫您将看到如何使用人类或如何使用您自己的数据类型｡
‫所以我们要再深入研究一下, 因为现在, 正如我所说的, 这只是一个成员, 一个变量.
‫我之前谈到了属性｡
‫举个例子, 长度是一个属性, 但是属性是以大写字母开头的,
‫我们将研究属性, 当然我们也将研究构造函数, 因为如果我可以在一行中简单地完成整个过程,
‫为什么我必须这样做呢？
‫假设我可以在这里输入像西西和瓦格纳这样的东西, 那个人就已经被创造出来了｡
‫这样我就不用再写所有这些额外的行了, 所以我可以在同一行中简单地写这些行｡
‫这正是你可以通过使用构造函数来实现的, 这也是我们在下一个视频中要做的｡
‫所以我希望你们能完成这个小小的挑战｡
‫在下一个视频中｡
‫在讨论属性之前, 我们先来看看构造函数｡
‫下一段视频再见｡