通过女朋友来揭秘类和对象---征服OOP的思维方式03

上午给大家描述了简单的OOP思维方式,可能大家还感觉不出来面向对象和面向过程的区别,不要急,让我们接着上午的话题。类和对象的关系!
在Java中(OOP中),一类事物的抽象描述叫做类,而对象是该类事物的实体,类是用来创建对象的模板!
怎么理解呢?
在OOP中,用来抽象的描述现实世界中的事物的东西叫做类,既然是用来描述现实世界中的事物,那么至少就应该具备该事物的属性和行为。
就比如一个人,姓名和性别就是他的属性,吃饭和睡觉就是他的行为。
在类中,用成员变量来描述事物的属性,用成员方法来描述事物的行为。还记得猜单词小程序中的SqlDemo类吗,看下面这张图
这里写图片描述
相信大家已经初步的了解了类的基本组成了吧,没错,类就是由成员变量和成员方法组成。一个用来描述事物的属性,一个用来描述事物的行为。
好了,再来说说对象,话说对象是个啥玩意儿呢!假如你女朋友叫小红,那么小红就是你的一个对象(假装一下有女朋友哈)!!!
没错,就是这样理解的!!!
不过你肯定不信, 不信不要紧,上面咱不是说到类是描述现实世界中的事物嘛。
这里“女朋友”就可以看成是一个类,而女朋友的姓名、性别和年龄属于她的属性,也就是成员变量。
洗衣服,(sheng)做饭(wa)等就是她的行为,也就是成员方法!
对不对!然而有个很重要的因素,并不是所有人都有女朋友对不对!!!!
因此”女朋友“只能是一个抽象的群体,
而在某一天,你在这个群体中认识了一个叫小红的“女朋友”,你们一见如故,弹起来了恋爱,因此小红就成了你的对象。emmmm。。。。。
这样解释,大家是不是有点弄明白了对象是啥了吧。哈哈。。。。。
好了理解了对象后我们来谈谈对象和类之间的关系,很显然,从上述的案例中很显然,当有“女朋友”这个类的时候你依然是个单身汪,洗衣服,(sheng)做饭(wa)依然还是要你自己去完成。自己不想做怎么办?那就得创建“女朋友”类的实例对象啊,也就是要找到小红啊!对不对!找到小红后就可以都交还给小红去做了,然后你就可以坐着吃饭,对不对!
这里不瞎掰了,还记得猜单词小程序2.0版本中的Start类吗?赶紧回忆一下!!

public class Start {
    public void init() {
        //创建sq对象
        SqlDemo sq = new SqlDemo();
        //调用该对象的getArr1()方法获取正确的中文意思
        String str1 = sq.getArr1();
        //创建in对象
        Input in = new Input();
        //调用该对象的getAns()方法获取用户输入的值
        String str2=in.getAns();
        //创建ju对象
        Judge ju = new Judge();
        //调用该对象的contrast方法来判断用户的答案是否正确
        boolean flag = ju.contrast(str1, str2);
        //创建show对象
        Show show = new Show();
        //调用该对象的showMessage方法来显示用户的反馈信息
        show.showMessage(flag);
    }
}

这里写图片描述

看图中的那几个框子,这就是创建对象的过程。
再说的明确一点:对象是实体,可以帮我们搞事情,而类是对象的模板。
我们找女朋友的过程就是创建对象的过程,但是我们找女朋友必定是在女性朋友的范围中找对不对(如果你是正常人的话),OOP中的类就是这个范围。
好了,关于类和对象就解释到这里了。
相信大家已经初步的理解了OOP中类和对象了吧,回忆一下我们写代码是做什么的吗?不就是描述现实世界嘛,
在业界内有本贼牛逼的书叫做Java编程思想,里面有一句话叫做“万物皆对象”,没错。这个世界上所有的东西都可以看成是一个对象,书我会上传,需要的可以自行下载。之所以Java语言来给大家介绍OOP的思维方式就是因为Java比较容易理解。
好了。大家应该都有所收获吧,

下一篇将结合猜单词的小程序给大家介绍Java语言中的设计原则和设计模式

猜你喜欢

转载自blog.csdn.net/qq_38701478/article/details/79825734