学习Java——认识Java-程序员宅基地

技术标签: 学习  JAVA专栏  java  开发语言  

        目录

面向对象和面向对象的过程

什么是面向过程?

什么是面向对象?


面向对象和面向对象的过程

        相信很多Java开发者,在最初接触Java的时候就听说过,Java是一种面向对象的开发语言,那么什么是面向对象呢?

        首先,所谓面向对象,其实是指软件工程中的一类编程风格,很多人称呼他们为开发范式、编程泛型(Programming Paradigm)。面向对象是众多开发范式中的一种。除了面向对象以外,还有面向过程、指令式编程、函数式编程等。

        虽然这几年函数式编程越来越被人们所熟知,但是,在所有的开发范式中,我们接触最多的主要还是面向过程和面向对象两种。

什么是面向过程?

        面向过程(Procedure Oriented)是一种以过程为中心的编程思想,是一种自顶而下的编程模式最典型的面向过程的编程语言就是C语言

        简单来说,面向过程的开发范式中,程序员需要把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。

        就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。最典型的用法就是实现一个简单的算法,比如实现冒泡排序。

        面向过程进行的软件开发,其代码都是流程化的,很明确的可以看出第一步做什么、第二步做什么。这种方式的代码执行起来效率很高。

        但是,面向过程同时存在着代码重用性低,扩展能力差,后期维护难度比较大等问题。

什么是面向对象?

        面向对象(Object Oriented)的雏形,最早在出现在1960年的Simula语言中,当时的程序设计领域正面临着一种危机:在软硬件环境逐渐复杂的情况下,软件如何得到良好的维护?

        面向对象程序设计在某种程度上通过强调可重复性解决了这一问题。目前较为流行的面向对象语言主要有Java、C#、C++、Python、Ruby、PHP等。

        简单来说,面向对象的开发范式中,程序员将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。

        就是说,在进行面向对象进行编程的时候,要把属性、行为等封装成对象,然后基于这些对象及对象的能力进行业务逻辑的实现。比如:想要造一辆车,上来要先把车的各种属性定义出来,然后抽象成一个Car类。

        面向对象的编程方法之所以更加受欢迎,是因为他更加符合人类的思维方式。这种方式编写出来的代码扩展性、可维护性都很高。

        与其实面向对象是一种开发范式,倒不如说面向对象是一种对现实世界的理解和抽象的方法。通过对现实世界的理解和抽象,在运用封装、继承、多态等方法,通过抽象出对象的方式进行软件开发。


 不断的失误,最后累积成为错误。错误的气息一点一滴的压抑着我们,导致我们草木皆兵四面楚歌,就像寄居在壳里蜗牛,一有东西触碰就退缩到自己的壳里。——《人民日报》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/L170311/article/details/129583827

智能推荐

html 怎么让div卷角,css实现简约的纸张卷角效果-程序员宅基地

文章浏览阅读589次。英文原文 http://designshack.net/articles/css/code-a-simple-folded-corner-effect-with-css/这篇文章中我们将介绍如何制做paper左上角的卷角效果。我想让我的几句文字以一张有卷角折叠效果的纸为背景,如果直接用一张图片,很容易实现,但是这里我要用css来实现。我的这种实现方法并不是非常具有创新意义,但是还是值得拿出来分享的..._div 纸张效果

软件测试之功能测试_软件功能测试-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏32次。功能测试黑盒测试的方法_软件功能测试

读取word模板,并写入数据到word文件中_qt word 模板华报告-程序员宅基地

文章浏览阅读7.2k次。读取word模板,并写入数据到word文件中_qt word 模板华报告

面向对象(Java)-程序员宅基地

文章浏览阅读35次。对面向对象的简单介绍,没啥深入的写

[加密]非对称加密STM32实现-程序员宅基地

文章浏览阅读659次。转自:https://blog.csdn.net/kangerdong/article/details/82432701把所有的准备工作都做完了以后,可以将加密算法移植到我们具体的项目中去了,在STM32中在出厂前已经将RSA的公钥私钥,CA数字签名和CA公钥烧写在STM32的flash上了。4.1 身份认证在wifi连接上服务器上后,客户端首先发起交换密钥请求,客户端将自己..._stm32实现md5加密

SQL语句查询MySQL数据库存储空间大小_data_length/1024/1024单位是啥-程序员宅基地

文章浏览阅读2.4k次。SQL语句命令如何查询数据库容量?SQL查询数据库存储空间分为统计所有数据库总容量,和查询单个指定数据库存储大小,数据库吧分享MySQL数据库存储容量大小查询SQL语句:SQL查询所有数据库容量大小查询所有数据库容量大小需要对information_schema进行操作,单位转换为MB,SQL语句如下:mysql> use information_schema;mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB_data_length/1024/1024单位是啥

随便推点

移动直播连麦实现——Server端合成-程序员宅基地

文章浏览阅读541次。本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》 作者简介: 张亚伟,齐聚科技技术研究院技术总监,拥有多年跨平台直播开发经验与技术积累。 责编:屠敏,欢迎技术投稿、约稿、给文章纠错,请发送邮件至[email protected]。 导语:本文是移动直播连麦实现系列的第二篇,分享由Server端(UpServer)执行音视频合成的流程及细节。..._移动端连麦

C语言基础_c语言数组在内存中是怎么分配的?-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏4次。初学C语言、C语言的一些定义_c语言数组在内存中是怎么分配的?

手机计算机应用的图片,怎么把手机的照片传到电脑 四种方法轻松导入-程序员宅基地

文章浏览阅读1w次。由于手机的小巧便捷我们的很多文件照片都是存储在手机上的,我们个每个人手机上都有很多照片如果将这些照片从手机中传输到电脑上,可以腾出一大部分手机空间,如何将手机照片传输到电脑上,相信很多小伙伴们还不知道吧,下面我就详细介绍一下。方法一:使用微信文件助手传输通过微信文件助手上传,使用电脑和手机登录同一微信,打开文件传输助手,选择需要的照片进行发送即可(传输图片时最好勾选原图上传,一次可勾选9张照片)。..._手机图片传电脑最简单的办法

如何远程登录Linux_linux远程登录另一台linux-程序员宅基地

文章浏览阅读1.3w次,点赞5次,收藏63次。本篇文章使用SSH,适合新手。第一步:在Linux上查看SSH的工作状态:打开Linux终端,输入systemctl status sshd,如图所示,红色方框里的内容说明你安装了SSH并且正在工作;第二步:查看服务器的IP地址:打开Linux终端,输入ifconfig,如图所示红色方框里的内容,即为IP地址(每一台电脑都不一样);第三步:连通测试:打开Windows系统的黑窗口,按住Windows+R,输入cmd,打开之后直接输入ping+IP地址(为第二步里面的IP地址),显示如图所示_linux远程登录另一台linux

xtrabackup 使用说明(续)_xtrabackup arch-程序员宅基地

文章浏览阅读168次。xtrabackup 使用说明(续) 背景:      关于物理备份工具xtrabackup的一些说明可以先看之前写过的文章说明:xtrabackup 安装使用。现在xtrabackup版本升级到了2.4.4,相比之前的2.1有了比较大的变化:innobackupex&am_xtrabackup arch

ICASSP 2022 | 腾讯AI Lab解读14篇入选论文-程序员宅基地

文章浏览阅读2k次。感谢阅读腾讯AI Lab微信号第146篇文章。本文介绍腾讯 AI Lab 入选 ICASSP 2022 的 14 篇论文。ICASSP(International Conference on Acoustics, Speech and Signal Processing)即国际声学、语音与信号处理会议,是IEEE主办的全世界最大的,也是最全面的信号处理及其应用方面的顶..._icassp