面向过程(Procedure Oriented):说的是功能的行为
面向对象(Object Oriented,简称OO):说的是功能的对象
面向过程理解:
当学习java的时候先了解java语言优良的特性跨平台,安全,健壮等之后了解java的发展史,接着又安装java开发工具及安装时的环境设置最后测试安装成功,自己有写了一个hello word,在了解这段知识的过程阶段可以理解为面向过程。
面向对象理解:
印象中以前有个同学问过我数组是面向对象吗?无论是什么都可以问是不是面向对象,就如我问桌子是鸟吗?你傻吗?这个就是你知道二者的特性,当然面向对象也有自己的特点封装,继承,多肽,抽象,记得有一次面试面试官问我是什么面向对象,我的回答是 描述事物的编程思想然后把特点又简单的说了下,鉴于能力和权威性,下面是我网上找的解析
1.抽象:
  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

2.继承:  

       继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

3.封装:

  封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

4. 多态性:

  多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

面向对象程序设计具有许多优点:

1、开发时间短,效率高,可靠性高,所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。

2、应用程序更易于维护、更新和升级。继承和封装使得应用程序的修改带来的影响更加局部化。

java面向过程和面向对象相关推荐

  1. java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法

    面向过程和面向对象 解决简单问题可以使用面向过程 解决复杂问题:宏观上使用面向对象把握,微观处理上仍然是面向过程. 面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向 ...

  2. java面向过程编程怎么写_从面向过程到面向对象,我的编程之路

    也许现在新一代的程序员一开始涉足的就是c++,C#,Java这类面向对象的语言,如果这样,这篇文章可能得不到他们的认同. 这里,我只想写写我从面向过程到面向对象开发成长中的一些感想而已. 我最初学习的 ...

  3. JAVA入门级教学之(面向过程和面向对象的区别)

    目录 JAVA入门级教学之(面向过程和面向对象的区别) 面向过程和面向对象的区别: -面向过程: -面向对象: -发展历程: -生命周期中包括: -什么是类: -什么是对象: -软件开发的过程: -重 ...

  4. Java 从面向过程走向面向对象的程序设计思想

    什么是面向过程?面向对象? 它们都是解决问题的思路 我用一个生活的例子来区别它们: 起床,洗漱,吃饭--等这些都是生活中的事 吃饭:我们想吃饭之前要做饭,饭菜可以是自己做,或者爸妈做,也可以下馆子 面 ...

  5. 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载

    1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...

  6. 面向过程 VS 面向对象

    面向过程(Process Oriented)这个词是在面向对象(Object Oriented)出现之后为与之相对而提出的.其实它在以前基本被叫做"结构化编程". 早期的程序设计, ...

  7. 面向过程和面向对象的本质理解

    http://kiritor.blog.51cto.com/7400479/1226762/ 面向过程和面向对象的本质理解 面向过程就是分析出解决问题所需的步骤,面向对象则是把构成问题的事物分解成对象 ...

  8. JavaScript学习(三十八)—面向过程与面向对象

    JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...

  9. 架构师之路---面向过程和面向对象 王泽宾

    1.引言    机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训 ...

最新文章

  1. HTML控制文本框只能输入数字和小数点,并且只能保留小数点后两位 金额转换,阿拉伯数字的金额转换成 面试题
  2. matlab 比例谐振控制器,比例谐振控制的一种实现(含代码)
  3. 成都网络推广告诉大家网站抓取量要如何解决?
  4. java写万年历_用java代码写万年历
  5. IM开发基础知识补课(三):快速理解服务端数据库读写分离原理及实践建议
  6. Visual Studio Code 快捷键的设置
  7. react学习(3)----不能在该位置用setstate
  8. Python `__enter__` `__exit__`(with)
  9. 在职工象棋赛上弃子拿下一盘
  10. 小米靠着“便宜”在手机市场中占有一席之地
  11. 2020手机的像素密度ppi排行_5g手机排行榜最新2020年11月5g手机性价比排行榜
  12. python实现压缩,解压文件,使用密码解压文件。
  13. 自动驾驶 4-5 自行车模型的横向动力学 Lateral Dynamics of Bicycle Model
  14. java-net-php-python-jspm点餐管理系统计算机毕业设计程序
  15. webpy使用说明(二)
  16. 网络攻防——Goby+AWVS漏洞扫描
  17. WINDOWS 2003设置攻略
  18. 1、Linux中的socket与TCP通信
  19. 黑马程序员——代码实现进制转换
  20. 在vue中使用canvas实现简单特效(下雨天)

热门文章

  1. Oracle type (自定义类型的使用)
  2. 知识蒸馏(Knowledge Distillation)详细深入透彻理解重点
  3. kwargs.pop是什么意思
  4. 梯度提升决策树(GBDT)与XGBoost、LightGBM
  5. LeetCode简单题之二叉搜索树的范围和
  6. 电脑识别指令和代码的原理
  7. 客快物流大数据项目(四):大数据项目为什么使用Docker
  8. 2021年大数据常用语言Scala(四):基础语法学习 声明变量
  9. Python 元组的使用
  10. cocosstudio csd文件解析为.lua