什么是面向对象编程?

    什么是面向对象?

    众所周知,面向对象编程语言杰出的有Java,C++,C#,那么什么才是面向对象编程思想呢?随着Java的不断深入,理解也变得不一样了,在此谈谈我的一方理解。

    什么是对象?

    既然是面向对象编程,那么什么是对象呢?在Java里面Foo foo = new Foo()在这里我们知道foo就是对象。对象是一个能达到某个目的的代码集合。我们需要进行加法计算,那么我们只需要调用foo.add(1,3);foo对象就能帮我们达到两个数相加的目的。

    面向对象语言的特征

  1. 继承
  2. 封装
  3. 多态

    这是面向对象语言必须具备的三大特征,那么在我理解看来,面向对象语言最核心的特征是封装,甚至于在某种意义来说,继承和多态也是为了实现更好的封装,所以我们甚至可以说没有封装,也就没有面向对象思想。对象的产生就是将一系列属性和行为封装到对象中的过程。

    怎样形成面向对象的思维

    找合适的对象做合适的事。当我们遇到一个想实现的功能的时候,先想着我该怎么得到有这个功能的对象,再用得到的这个对象来替我们完成这个功能。做个简单的例子,我在一个只负责做加法运算的类中有个做加法的功能,当我想在做完加法运算后再对结果开方,就不要在这个类中创建一个开方的方法,这样就落入了下乘,我们应该想到的是得到一个有开方功能的对象,用这个对象来进行开方。

    怎么创建合适的对象

    既然我们要找到合适的对象做合适的事,那么我们怎么创建这个合适的对象呢?在《代码大全》里有一句话,类应该具有单一功能职责,一个类和一个方法只能做一件事。既然说到创建类,在这里就不可避免的要说下抽象和接口了。很多时候都搞不清楚什么时候用抽象什么时候用接口,在我的理解,抽象是对一类事物相同属性(属性指本身固有的,不发生变化的特性)的 抽象,接口是对行为的抽象。举个例子:人本身固有的属性有眼睛,鼻子,表达(),出生(),成长()这些都是本身的属性,所以需要使用抽象。说英语(),说汉语()这些不是人所固有的,是人的一种行为,所以应该用接口,人来实现这个接口,来达到人说哪种语言的目的。

    总结:使用合适的对象做合适的事

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章