如何理解面向对象?

程序以人的思维模式去解决问题。面向对像的程序是由类组成的,每个类包含对用户公开的特定功能部分和隐藏的实现部分。传统的结构化程序设计通过设计一系列的过程(即算法)来求解问题。这一些过程一旦被确定,就要开始考考虑存储数据的方式,这就明确的表述了程序员的工作方式。但面相对像却调换了这个顺序,它不必关心数据对象的具体实现,只要能满足用户的需求即可。面向对象有三个最基本的特性,即:封装,继承,多态。

封装(Encapsulation):使用方法把类的数据隐藏起来,遵循了java 一切皆为对象的基本概念和核心思想,达成对类的封装,让普通类型上升为对象级;封装控制用户对类的修改和访问数据的程度,增强了程序的可维护性。

继承(Implementation):发生在类和类之间,可分为单继承和多层继承描述父子对象之间的血缘关系, 最终达到的目的是:一旦使用了继承,子类便获得了父类所有的成员(变量和方法),但是父类的私有的方法和属性不能被访问,父类的final成员不能被重写。 一旦使用了继承,父类的实例能指向派生类(子类)的引用。

多态(Multipart):对象在运行期和编译期具有的两种状态,使代码具有灵活性和重用性。编译时多态,也就是函数重载,所谓函数重载就是指同一个函数名可以对应多个函数的实现具体调用哪个按照由参数个数,参数类型等来决定。运行时多态:用一个基类的指针或引用来操纵多个派生类型的能力被称为多态性

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。  -----------------------------------------------

面向过程的思维方式是分析综合。面向对象的思维方式是构造。

就是对C语言过程式解决问题时。一般是将现有的数据结构先定义出来。然后想办法构造出算法了。

而用C++这样的面向对象求解时,先是将对象抽出来。构造成一个仿真的环境,然后在这个环境里,把与最终要解决的问题间建立一个方法。

所以面向过程的程序设计有挑战性,技巧性强。   而面向对象主要在于对象抽象有技术性,抽象完了后,任何人都可以做后面的工作了。  -------------------------------------------------

面向对象和面向过程的主要区别就是数据是单独存储还是与操作存储在一起。对面向过程而言,数据是独立的。而在面向对象中,对象本身就提供了存储数据的空间(类的数据成员),这样就是函数的参数传递简单多了,而且提供了数据封装后,数据的访问也变可靠了。 ------------------------------------------

面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。 这里面放油,炒,放水就是三个步骤。

面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。仍然举作菜为例,其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的。 ---------------------------------------------------

两句话: 面向对象是将实物高度抽象化 面向过程是一种自顶向下的编程。 而面向对象是自下先建立抽象模型然后再使用模型。 

面向过程编程:它不考虑其它程序是否可重用的代码。只考虑现需求程序的实现。      面向对象编程:它不是从程序的整体出发的,而是从程序的各个模块的实现出发的,尽量让各个实现类达到高复用,然后才把实现的功能类组装成一个程序。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值