java "万物皆对象?"---"万物皆对象!"
还记得最初写游戏(打砖块)的时候,对java万物皆对象的理解:
当时的游戏有Ball类,Brick类,窗口类三个类。
当时就知道java,面向对象嘛!“万物皆对象” 然后,我就开始了我的万物对象的写法,先创建一个JFrame然后,在窗口里创建一个对象obj ← (||๐_๐), 然后我当时的理解就是,我的游戏所有都要围绕这个obj去写。首先,窗口类对obj噼里啪啦进行一堆操作,然后球如果需要obj,那么怎么办啊(っ╥╯﹏╰╥c),那就把obj对象传到球这个类里面吧,怎么传啊(不会~>_<~)?结果这时候java班刚好讲到传值和传址,我就问了问李祥祥学长怎么穿一个对象,然后噼里啪啦一顿操作,就把 obj这个对象传到了球这个类里面,让球类对obj进行操作,就是让球把自己的操作从头到尾的做一遍,然后再把obj给我穿回我的窗口这个类里面,窗口再对对象进行噼里啪啦一堆操作,然后再把obj传到Brick(砖)这个类里面,让砖对obj进行一顿操作,再把对象穿回窗口类里面,最后窗口再负责把我的所有东西给我打印到屏幕上来,这样就构成了一个完整的游戏。
当时我的obj就是一个任人装扮的小姑娘,谁都可以对它进行操作。结果代码写着写着写不下去了,就问学长这怎么写啊,组长看了看。说你这别写了,这样写什么都不是,一点都不是面向对象。然后我就重新开始写了。
后来:
球类 ,砖类,窗口类。
以窗口类为底层,在窗口类里面创建了三个对象,分别对应三个类,当时对象就从一个变成了三个,一个都不多写。然后各自的类里面写有各自的方法,哪一个对象要有操作,就让这个对象在我的窗口类里面进行点用这个方法。 马马虎虎把游戏做出来了。
再后来:
一次偶然的刷B站,了解到我如果调用了一个图片那么就是先把他从一个文件,封装成一个对象,然后再这个对象进行具体的操作。之后我开始理解封装过图片也是一个对象,我们获取到图片的方法就是把图片封装在一个对象里面。当想要对类进行操作的时候怎么办?那就把他放到一个对象里面去吧!因此,对万物皆对象理解又深了一点。
现在:
想对一个东西进行操作,那么我就会首先找一下这个东西能不能让他变成一个对象,然后我在对这个对象进行一些操作,如果不能把他变成一个对象,那么跟它相近的操作我们不能变成一个对象,这样逐步分析,最后完成这一项操作。这大概就是我对于万物皆对象的一些理解吧。