Java——面向对象编程思想

前言

如果有人问你,C和Java的区别是什么呢?

我想大部分人肯定脱口而出的是:C是面向过程的,Java是面向对象的。

那如何理解面向过程和面向对象呢?

首先,面向过程和面向对象都是编程思想。

①面向过程,以C语言为代表,它是按解决一个问题的的流程或者先后步骤来编程的。

②面向对象,以Java语言为代表,它是从宏观上将将整个问题拆解成不同的模块,然后让各个模块各司其职,相互协作,解决这个问题的。

举例

举一个形象的例子:人把大象装进冰箱
1.面向过程

java 复制代码
1.打开冰箱
2.把大象装进冰箱
3.把冰箱门关住

2.面向对象

java 复制代码
人{
	打开(冰箱){
	冰箱.开门();
	}
	操作(大象){
	大象.进入(冰箱);
	}
	关闭(冰箱){
	冰箱.关门();
	}
}

冰箱{
	开门(){ }
	关门(){ }
}


大象{
	进入(冰箱){ }
}

总结:

面向过程的程序设计思想 (Process-Oriented Programming),简称 POP

①关注的焦点是过程 :过程就是操作数据的步骤。如果某个过程的实现代码重复出现,那么就可以把这个过程抽取为一个函数 。这样就可以大大简化冗余代码,便于维护。

②典型的语言:C语言

③代码结构:以函数为组织单位。

是一种" 执行者思维 ",适合解决简单问题。扩展能力差、后期维护难度较大。

面向对象的程序设计思想 ( Object Oriented Programming),简称 OOP

①关注的焦点是类:在计算机程序设计过程中,参照现实中事物,将事物的属性特征、行为特征抽象出来,用类来表示。

②典型的语言:Java、C#、C++、Python、Ruby和PHP等

③代码结构:以类为组织单位。每种事物都具备自己的属性和行为/功能 。

是一种" 设计者思维 ",适合解决复杂问题。代码扩展性强、可维护性高。

相关推荐
zh_xuan9 小时前
kotlin 尾随Lambda表达式函数的常用简写
开发语言·kotlin
码出财富16 小时前
SpringBoot 内置的 20 个高效工具类
java·spring boot·spring cloud·java-ee
沐知全栈开发16 小时前
Perl 数据库连接
开发语言
我是小疯子6616 小时前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
森叶16 小时前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
二哈喇子!16 小时前
Eclipse中导入外部jar包
java·eclipse·jar
微露清风16 小时前
系统性学习C++-第二十二讲-C++11
java·c++·学习
qq_3168377516 小时前
uni.chooseMedia 读取base64 或 二进制
开发语言·前端·javascript
方圆工作室17 小时前
【C语言图形学】用*号绘制完美圆的三种算法详解与实现【AI】
c语言·开发语言·算法
小二·17 小时前
Python Web 开发进阶实战:混沌工程初探 —— 主动注入故障,构建高韧性系统
开发语言·前端·python