00:00
行,那么接下来咱们继续啊,那么再往下的话,大家想想是不是应该。根据我们这个来说,现在有房间了,那你房间出来了,是不是应该有个酒店呀。啊,你面向对象里边是不是应该应该得有个酒店对吧。是不是应该酒店里边有一个二维数组?是不是酒店里边有个二维数组啊?你好好想想你面向对象的方式,你眼前有个大厦啊,大厦就是酒店,所以这边你是不是应该还有一个class,这个class叫hotel酒店呀。这是不是一个对象啊?这酒店对象啊,酒店中有二维数组,二维数组模拟什么楼。打上。好好想想。这不酒店吗?你这只是个房间,然后接下来你酒店里边是个二维数组。
01:00
对吧,比如说这个呗,Rooms。对吧,哎,这是那个二维数组啊,二维数组模拟大厦所有的房间。嗯,好好想想啊,好好想想。对,酒店的名字也可以有。对吧,酒店楼楼层就是层数呗。对吧,它有多少层是不是啊,都可都可以啊,咱这不整那么复杂了啊,咱就给一个这个room的二维数组就完事了。但是你这个是空啊各位。对吧,你这个是房间是空啊,你不能让它是空吧。对不对,哎,你不能是空啊,所以你得把楼盖出来,盖楼通过什么,盖楼通过构造方法。
02:02
来盖楼。才对吧?盖楼是通过构造方法来盖楼,你把酒店拗出来的时候,你这个楼层就得有房间。所以这一块我们可以给个无参构造。这个无参构造只要一执行,就把楼层创建出来了。对吧,盖楼通过构造方法来盖楼。啊,一共有几层。对吧,每层的房间类型是什么。对吧?每个房间的编号是什么?你可能都需要去做这件事情。你把房间给他造出来。对吧,把房间给造出来。注意啊,一共有几层,每层房间类型是,每个房间编号是什么?我们可以先写死,我们可以先写死啊。对吧,哎,比如说一共三层。
03:09
行吧,比如一层单人间。二层这个叫标准间。三层总统套房哎。对吧,哎,就你可以先写死各位啊,以后再考虑扩展性,你这个酒店里边是有房间吗。对吧,哎,房间一共有三层。一层单人间,二层是标准间,三层是总统套房。来,那房间编号的规律呢?房间编号的规律。那就这个编号呗。啊。就按照这个编号来呗。拿过来放这先写死他。
04:01
那你这会儿应该不应该把这个数组给它创建出来。有一个入几行几列。各位,几行几列呀。比如,每层有十个房间。每层有十个房间行不行啊?可以吧,那就30呗。什么意思啊,三行十列呀。啊,三行十列吧,是不是就三层楼。是吧,每层十个房间啊,就这么地了,好各位,我问大家个问题啊,现在程序到这个位置上,是不是就相当于把房间造出,诶诶房间造出来了吗?问,告告诉我房间现在造出来了吗?各位给个互动房间造了吗?
05:05
没有吧?房间已经是水泥了,还没还没有去造这个房间啊,这个房间还没有造明白吧,因为你还没有new room。听懂了吗?就相当于是说你现在只是在这里把这个怎么着给它分配出来了,这一个房间占的这个数组里边这个空间都分配出来了,分配出来了,但是你别忘了这个里边是nu。还记得吗?诶,这是个none,还记得吗?这是个none啊,还记不记得,哎,None也就是说你你你你你只是动态初始化吗?这个叫什么叫动态初始化。啊好,接下来你是不是应该。找个对象房间。对吧,这个对象内存地址干什么呀?哎,放到这儿啊。
06:01
对吧,应该再来个房间吧。这个房间它的对象的内存地址放哪儿啊?放这里边儿呗。对吧。啊,你就这样。啊,你应该创建多少个多少个对象。三乘十三十个room对象吧。是不是30个需要创建30个room对象,创建30个room对象啊,放到数组当中吧,是不是得放进去啊,所以怎么放怎么放。各位这样写吗?ROOMS00这样写。啊,ROOMS01这样写,写30行就就一顿一顿写呗,然后写了之后knew呗,是这意思吗?这样的话是不是就有点儿太。费劲了。对吧,太费劲了。
07:00
你一个一个这样写太费劲了,而且你这样不合适啊。少的话能多的话就废了啊,所以我们是不是000102对吧,0304050506070809就结束了,这个是一零吧,是不是一零对吧,那这个是一一呗,对吧,一二呗,那这个就表示第一层的第一个房间,第一层的第二个房间,这表示第二层的第一个房间。对吧,哎,你都得拗出来啊,你都得拗出来啊是不是,哎,拗出来啊,扭出来来这一块我们怎么做二维数组的变例,怎么放二维数组变例呀。对吧,For循环呀,特类型I呀,等于什么呀,零啊I小于什么呀。I小于rooms.i干什么加加?
08:02
是不是,那I是不是楼层,I是楼层啊。注意是楼层啊,012。呃,应该说I是下标。对不对,I是下标啊,I加一是楼层,一楼二楼和三楼,我不知道大家理解不理解这个各位,A加一是楼层,因为你I现在是从00012嘛,012对吧,那A加一不就是楼层吗。对吧,哎,楼层啊,负循环in j等于零,J小于这个什么一为数组点什么,哎,Les这加加,那你这个一维数组是什么呀,是你ROOMS2维数组下标为I,这是个一维数组吧。Rooms不就是二维数组吗?
09:01
二维数组。二维数组,你现在下标为I0 rooms0的话,就表示第一层的一维数组。一维数组Les,所以这块呢,应该是room I,这是一维数组嘛,一维数组的下标为J的第几第几个。第几第几个房间嘛,是不是这个应该是rooms I下标为J,后边应该new一个room吧。对不对,哎,那么这个room new一下。那你这个地方是不是有一个房间编号啊。这个位置是不是有一个房间类型啊。这个位置是不是有一个占用或者是空闲呀,好,我问大家。
10:00
这个是不是可以确定。房间编号不能确定吧,因为你楼层不一样,房间编号不一样。房间编号确定不了,那你这个房间类型也确定不了,你一楼是什么,二楼是什么,三楼是什么,所以你得判断这块是动态的。这个空闲呢。空闲,那就是你刚刚建出来这个酒店的时候,这个酒店构造方法啊,刚刚建出来这个酒店的时候,我问大家是不是所有房间都是空闲的。那我们刚才说了处是空闲,对吗?处表示空闲,所以这边是不是都是处啊?这个可以确定是不是,哎,那么既然这个房间编号呢,房间编号。是不是楼层乘100。再加上。这加一。是不是?楼层。
11:01
是不是A加。A加一。我问大家I是不是楼层啊,不是,I现在是不是下标是零,一二加一之后是不是变成123?123让这个值乘以100是什么意思?因为第一层房间边是101啊,第二层201啊。乘以100算算啊。如果I是零的情况下。零加上一是一,一乘以100是100。100第一个房间是101,那你后边这个J是从零开始的,对吧?所以你是不是应该加上去一个G,再加一个一啊。这个是不是就是房间编号。各位,这是不是就是通过通过I和J来转换的房间编号?
12:01
好好想想。好,房间类型那就不一样了。如果你是一层。你拗的这个对象就应该是什么单人间I141,你如果是二层。你牛的应该是什么?叫做标准间,如果你else是三层,三层的话,我们应该是总统套房。总统套房?那什么是一层?一层I是等于几?I等于几啊?I等于零是吧?二层是I等于等于几啊一是吧,也可以加if对吧?I等于等于什么呀?二的时候是不是就是三层啊对吧?哎,这个就表示一层啊,这表示二层嘛,是不是,哎,二层。
13:06
然后这个是不是就表示三层啊。因为你层数不一样,它这这个类型不同,但你这个地方都是处,都是处都是处,因为都是空闲,前面这个房间编号不用管,这是固定的。加一乘100加G再加一,这个值正好是我们这个房间编号。好了,这样的话我们的酒店就有了。好。
我来说两句