Skip to content

Commit 4f87ee8

Browse files
committed
[docs update]完善问题:面向对象和面向过程的区别
1 parent 2271678 commit 4f87ee8

File tree

3 files changed

+195
-197
lines changed

3 files changed

+195
-197
lines changed

docs/java/basis/java-basic-questions-02.md

+17-5
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,26 @@ head:
1818

1919
### 面向对象和面向过程的区别
2020

21-
两者的主要区别在于解决问题的方式不同:
21+
面向过程编程(Procedural-Oriented Programming,POP)和面向对象编程(Object-Oriented Programming,OOP)是两种常见的编程范式,两者的主要区别在于解决问题的方式不同:
2222

23-
- 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。
24-
- 面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
23+
- **面向过程编程(POP)**面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题。
24+
- **面向对象编程(OOP)**面向对象会先抽象出对象,然后用对象执行方法的方式解决问题。
2525

26-
另外,面向对象开发的程序一般更易维护、易复用、易扩展。
26+
相比较于 POP,OOP 开发的程序一般具有下面这些优点:
2727

28-
相关 issue : [面向过程:面向过程性能比面向对象高??](https://github.com/Snailclimb/JavaGuide/issues/431)
28+
- **易维护**:由于良好的结构和封装性,OOP 程序通常更容易维护。
29+
- **易复用**:通过继承和多态,OOP 设计使得代码更具复用性,方便扩展功能。
30+
- **易扩展**:模块化设计使得系统扩展变得更加容易和灵活。
31+
32+
POP 的编程方式通常更为简单和直接,适合处理一些较简单的任务。
33+
34+
POP 和 OOP 的性能差异主要取决于它们的运行机制,而不仅仅是编程范式本身。因此,简单地比较两者的性能是一个常见的误区(相关 issue : [面向过程:面向过程性能比面向对象高??](https://github.com/Snailclimb/JavaGuide/issues/431) )。
35+
36+
![ POP 和 OOP 性能比较不合适](https://oss.javaguide.cn/github/javaguide/java/basis/pop-vs-oop-performance.png)
37+
38+
在选择编程范式时,性能并不是唯一的考虑因素。代码的可维护性、可扩展性和开发效率同样重要。
39+
40+
现代编程语言基本都支持多种编程范式,既可以用来进行面向过程编程,也可以进行面向对象编程。
2941

3042
下面是一个求圆的面积和周长的示例,简单分别展示了面向对象和面向过程两种不同的解决方案。
3143

0 commit comments

Comments
 (0)