以类的方式组织代码,以对象的方式封装数据
类是具体对象的模板,对象是类的具体化
我们可以举个简单的例子:
在我们的概念里,我们对车的映像是,有四个轮子,有发动机,能跑等等。如果你仔细思考的话,你会发现在我们大多数人的概念里,我们对车的概念都是抽象的,存放在我们脑海中的关于车的概念是我们总结出来的基本上所有的车都有的共性,满足了这个共性,我们就可以把它称作一辆车。我们可以简单理解为在我们的脑海中存在的是关于一辆车的抽象的模板。现实世界中真实的汽车只是鲜活的填充了这个模板而已。
那么,有了上面的这些思考与理解,我们再来讨论我们的类和对象,类又是什么?对象又是什么呢?类就是上面那个例子中汽车的模板,对象就是现实世界中真实存在的汽车,例如:宝马X1等等具体的车。
是不是有点感觉了?那么我们再来举个程序中的例子来加深理解。
比如说我有一个简单的汽车类,这个汽车类有品牌,还有轮子,能跑
public class Car {
//静态数据
private String brand;//品牌
private Wheel wheels;//轮子
//动态行为
public void run() {
}
}
然后我们再来思考一个问题?这个类是怎么来的?我们为什么这样定义这个类?
其实我们不难发现,这个过程其实就是我们大脑的总结概括过程,我们从现实世界中,从那些我们平时看到的具体的那些车当中,我们抽出这写现实世界中我们看到的车的共同属性,就是说他们有什么共性,然后我们把这些共性提取出来,把它设计为一个类。
简单一句话:类是对具体对象的抽象
那么对象呢?我们在来看一个实际的简单的代码
Car realCar = new Car();
realCar.brand="宝马";
realCar.run();
我们在上面这个代码中做了什么?
我们是将一个抽象的类具体化了,我们以Car类为模板,通过往里面填充数据,填充零件,我们具体地造出了一辆具体的车,具体的对象
所以说到这里,我想你应该就会明白,原来平时看似简单的类和对象,背后还有这么多不为人知的思考方式