?? ?? 第一次接触编程是在大学,同时,还学到了面向对象编程。当时的自己仅仅是认为,所谓的面向对象编程就是写一个类,写一个接口,写一个实现接口的类。想要操作对象就要先new 一个类类型的对象,及所谓的实例化对象,然后对对象进行操作。为什么写这样的类,为什么要写接口,然后把对于对象的操作写到接口的实现里面,对于当时的自己来说完全不了解。Design Patterns(设计模式),这本书里面讲解的是可复用面向对象软件的基础,其中,有很多概念性的东西,让我对于面向对象有了更深层次的理解。以下皆为自己的理解,如有不正确之处,请指正。
??? 什么是对象?
??? thinking in java里面有着这样一句话 everything is object(万物皆对象),对象一般都有两个特征:状态(state)和行为(behavior),更进一步,对象包含对象的属性以及对象所具有的动作。比如说人,人有高低胖瘦之分,有男女之分,人可以走路,也可以跑路,同样也可以玩耍等等。这里人就是对象,高低胖瘦、男女为对象的属性,走路、跑路和玩耍是对象的动作。
??? 对象在java中如何体现?
??? 对于我们编程来说,最主要的还是将我们的理解和程序结合起来。用人来说明,所有的人都具有属性:name,sex,birthday...,这些就是人的共性,将这些共性抽取出来封装成一个class,即POJO类--体现了面向对象的一个特征--封装,每一个人对应关系型数据库表中的一条记录;所有的人都具有动作,但是每个人的动作不一定相同,此时,我们就需要定义一个接口,在接口中定义一个方法,接口中定义的方法是所有人所具有的动作的抽象,而具体的动作则需要在接口的实现中定义,根据人的不同调用不同的接口的实现--体现了面向对象的一个特征--多态。POJO类的一个实例或数据库表中的一条记录以及接口的实现组成了一个对象。综上所述,把对象、POJO类、数据库表数据、接口以及接口的实现联系了起来。
??