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等

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

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

相关推荐
苹果醋327 分钟前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
晓纪同学43 分钟前
QT-简单视觉框架代码
开发语言·qt
威桑44 分钟前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
Hello.Reader1 小时前
深入解析 Apache APISIX
java·apache
飞飞-躺着更舒服1 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb
明月看潮生1 小时前
青少年编程与数学 02-004 Go语言Web编程 17课题、静态文件
开发语言·青少年编程·编程与数学·goweb
Java Fans1 小时前
C# 中串口读取问题及解决方案
开发语言·c#
盛派网络小助手1 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
菠萝蚊鸭1 小时前
Dhatim FastExcel 读写 Excel 文件
java·excel·fastexcel