面向对象编程简介

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

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

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

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

Java面向对象编程导论的更多相关文章

  1. Java面向对象编程基础

    一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...

  2. java 面向对象编程。。。。

    经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...

  3. 《Java面向对象编程》

    <Java面向对象编程> 第11章 对象的生命周期 11.1  创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...

  4. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

  5. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  6. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  7. Java面向对象编程(一)

    由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...

  8. JAVA学习(五):Java面向对象编程基础

    Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...

  9. (一)如何理解java面向对象编程

    哲学中,事物总是螺旋式上升,波浪式前进.因而编程也逐渐向人类更容易理解的方向前进,多年来人们苦苦追求的编程境界 : 高扩展性(extensibility),高复用性(reuseable).java语言 ...

  10. java面向对象编程--第九章 多态和抽象

    9.1多态 在生物学中,是指一个生物或物种可以有多种不同的形式或阶段: 在OOP中,多态是指一个对象有多种形式的能力. 多态可以说是面向对象编程的精髓所在.java中之所以引入多态的概念,原因之一是它 ...

随机推荐

  1. 浅谈Pytest中的marker

    浅谈Pytest中的marker 没有注册marker 我们写一个简单的测试 # test_demo.py import pytest @pytest.mark.login def test_demo ...

  2. Timer的定时调度函数schedule的四种用法

    schedule的四种用法 schedule(task,time) task-所安排的任务  time-执行任务的时间 作用:在时间等于或者超过time的时候执行且仅执行一次 import java. ...

  3. python加密解密之AES

    def encrypt(self, params: str, key: str, iv: str) -> str: """加密""" ...

  4. react 高效高质量搭建后台系统 系列 —— 表格的封装

    其他章节请看: react 高效高质量搭建后台系统 系列 表格 有一种页面在后台系统中比较常见:页面分上下两部分,上部分是 input.select.时间等查询项,下部分是查询项对应的表格数据.包含增 ...

  5. Spring Cloud 2022.0.1 Spring Cloud Zookeeper4.0

    官网: https://spring.io/ 左侧菜单 向下找到 spring Cloud Zookeeper 所有我们希望看到的都在 Reference Doc 中,点击进入 连接zookeeper ...

  6. CentOS7安装了图形界面为默认如何修改默认登录到控制台

    在安装的时候,选择了图形界面安装,一段时间后,想还是直接登录到控制台,需要的时候在手动登录到图形界面, 在CentOS7中的设置方法不同与之前的版本 在之前的版本中是修改配置文件 sudo nano ...

  7. Altium Designer v23.0.1.38图文详解

    Altium Designer (AD)  最新安装河蟹教程 ,ltium designer  显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化.使用64位体系结 ...

  8. ROS自定义数据类型

    1.简介 自定义数据包可以在使用数据的功能包内进行创建,也可以单独创建一个功能包来专门进行自定义数据类型. 1.步骤: 1.创建一个功能包 进入工作空间catkin_ws/src catkin_cre ...

  9. C# HttpClient使用和注意事项,.NET Framework连接池并发限制

    System.Net.Http.HttpClient 类用于发送 HTTP 请求以及从 URI 所标识的资源接收 HTTP 响应. HttpClient 实例是应用于该实例执行的所有请求的设置集合,每 ...

  10. 跳板攻击之:ICMP代理转发与反弹shell

    跳板攻击之:ICMP代理转发与反弹shell 郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护 ...