面向对象编程简介

JAVA是一门面向对象的编程语言。面向对象编程范式与面向过程编程范式同属于命令式编程范式,与函数式编程范式相区别。在面向对象编程范式中,我们将我们要处理的系统的业务逻辑表现为对象之间的互相关联。对象实体本身是一组数据和动作的封装。封装可以简单的理解为一种打包,它使得外部可以使用某个单一对象或模块提供的服务而不去理会具体的细节。在这个意义上我们发现,面向对象本身就是计算机科学抽象思维的一种体现。在面向对象编程范式所面对的世界中,一切皆是对象。

面向对象编程与面向过程编程
一般来说,支持面向对象编程的语言也是支持面向过程编程范式的,而函数式编程语言的特点也正在被糅合到现有的面向对象编程语言中。按照我的理解,编程就是使用符号语言来对现实世界中的事物进行建模。面向过程编程范式在对事物进行建模时更加灵活,但也容易造成代码的冗余和系统复杂性过高。面向对象编程范式的语言则将原来在面向过程编程范式中常用的结构抽离出来,采用更加简易的机制来表示。面向对象编程目前是应用领域的主流编程范式,因为它更有助于构建结构更清晰、更易于理解、扩展性更强的软件系统。

面向对象编程与函数式编程
面向对象编程范式与函数式编程范式则有着较大的差异。在面向对象编程范式中,我们热衷于将业务逻辑抽象成提供特定服务的对象,并且常常使用变量来表示复杂的变动中的关系,对象的动作本身多产生的影响往往不是来自于方法本身的返回值,而是方法本身的副作用。函数式编程范式则与此有较大的不同。在函数式编程范式中,采用具有恒定性的常量和变量是一种约定的习惯。相比较于命令式编程范式,使用函数式编程范式编写的程序更加的简洁,以及拥有更高层次的直观,且很少有副作用。此外,一个很大的不同点在于函数式编程热衷于采用递归,而面向对象编程更习惯于采用看上去效率更高的迭代机制。

面向对象编程与面向切面编程、面向接口编程
面向切面编程和面向接口编程都是面向对象编程的一种延伸。面向对象编程将事物表示为对象之间的关系,但是现实事物并不是一个个单独的被联系起来的实体,实体
只是在特定视角下的一种整体化的认知,面向对象编程并不足以完全表示现实世界复杂的逻辑。面向切面编程正是对于这样一种情况的有效补充,它使得我们可以单独定义对于多个不同实体之间的共通逻辑,而这些逻辑往往与不同实体本身的业务逻辑无关。面向接口编程则是在应用软件开发领域对于面向对象编程的更深层次的抽象。接口本身并不是JAVA本身语法中的接口。面向接口编程是指将不同功能模块的服务加以抽象,只保留对外的接口,减少不同系统之间的耦合,同时保证系统本身的可读性、可理解性,提高可维护性和可用性。

标签智能推荐:

Java实现面向对象思想简明指南

“在JAVA中,我们所做的所有工作,就是定义类,创建这些类的对象,并传消息给这些对象”浏览本文章前,如果对面向对象思想属于纯粹的初学者,建议先阅读《面向对象思想导论之宏观总结_小翔哥》了解面向对象思想导论。对于JAVA面向对象思想的学习,依照此理解顺序1、理解面向对象的总体思想与主要特性,例如封装,继承,多态,超类,集合,泛型,多线程等等。2、接下来,也就是本章节讲解的内容,我们需要进一步了解,利

经典技术书籍推荐,持续更新...

va《EffectiveJava中文版(第2版)》《Java编程思想(第4版)》JavaScript《你不知道的JavaScript(上卷)》《你不知道的JavaScript(中卷)》《你不知道的JavaScript(下卷)》《JavaScript高级程序设计第三版》《JavaScript权威指南(第6版)》《JavaScript语言精粹》《JavaScript设计模式与开发实践》《JavaScr

转载-计算机书单

S50,哈佛公开课《计算机科学导论》,B站就有资源,自取~C语言《C和指针》《高质量C编程指南》《C专家编程》和《C陷阱与缺陷》有时间可以看《C程序设计语言》中国大学MOOC搜翁凯老师的《C语言程序设计》入门:提升:算法:《大话数据结构》《算法(第四版)》《算法导论》,一般人可能都会被劝退。。。不过可以看下学习C++学习C++:《C++primer》《STL源码解析》《EffectiveC++》《

2019-2020-1 20191320 《信息安全专业导论》第八周学习总结

020-120191320《信息安全专业导论》第八周学习总结教材学习内容总结这章主要学习高级程序语言的相关知识。首先我们了解了面向对象设计的设计方法及其相关的概念。然后我们学习了面向对象设计的设计方法,它分为集体讨论、过滤、场景、责任算法、总结等步骤。我们还学习了语言的翻译过程,懂得了我们使用的高级语言是如何转变为计算机可以运行的机器码的。我们学习了编译器和解释器的相关知识,了解了他们的共同点和区

javascript到底算不算面向对象的语言呢?

现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,消息机制可以像搭积木的一样快速开发出一个全新的系统。面向对象也是指一种程序设计范型,同时也是一种程序开发的方法。对象指的是类的集合。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。面向对象的思想已经涉及到软件开

2020-2021-1 20201317 《信息安全专业导论》鲁永欣 博客总结

信息安全导论学习总结1·《信息安全专业导论》第一周学习总结2·《信息安全专业导论》第二周学习总结3·《信息安全专业导论》第三周学习总结4·《信息安全专业导论》第四周学习总结5·《信息安全专业导论》第五周学习总结6·《信息安全专业导论》第六周学习总结7·《信息安全专业导论》第七周学习总结8·《信息安全专业导论》第八周学习总结9·《信息安全专业导论》第九周学习总结10·《信息安全专业导论》第十周学习总

2021-2022 20211417《信息安全专业导论》第八周学习总结

2021-202220211417《信息安全专业导论》第八周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2020-2021-1信息安全专业导论)这个作业要求在哪里<作业要求的链接>(如2020-2021-1信息安全专业导论第八周作业)这个作业的目标功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行作业正文2021-20222021

2020年最全面的计算机专业基础课程和Java项目【附带源码和课件】[转]

机从入门到精通【全203集】翁恺-java从基础到进阶全152集java核心技术-进阶-华东师范大学(适合有一定java基础)java核心技术-基础-华东师范大学(适合有一定java基础)网易JAVA高级课程1-高性能编程【附课件和源代码】网易JAVA高级课程23-容器化技术【附课件和源代码】网易JAVA高级课程2-中间件【附课件和源代码】图解Java的23种设计模式【时间较长-附课件和源代码】J

史上最强Java学习路线图(适合Java零基础)

、Java数组Java数组多维数组Java数组复制04、Java面向对象(1)Java类和对象Java方法Java方法重载Java构造方法Java字符串Java访问权限Javathis关键字Javafinal关键字Java递归Javainstanceof操作符05、Java面向对象(2)Java继承Java方法重写Javasuper关键字抽象类&抽象方法Java接口Java多态Java封装

熟悉编程语言

编程语言top50分类命令式语言Fortran、ALGOL、COBOL、C、Ada、Pascal、python等面向过程的语言Fortran、C面向对象的语言C++、Java声明式的语言Scheme、Haskell、StandardML函数式的语言Haskell逻辑式的语言Prolog想学习的语言1、面向过程的语言我想学习c语言,C语言经历了时间的考验,至今仍然经久不衰,足见其实用性以及优越性。2