欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

大话coding 之面向对象概念之争

程序员文章站 2023-12-21 13:23:46
...

—— 今天想了想,大话C、C++这个范围太小了,我还是改成这个系列为“大话 coding” 吧。其实就是记录一下我自己的一些瞎想。。(每天没事干时。。就想些这问题)

 

小学就开始简单的接触编程。。但是几乎直到最近才对面向对象有个系统的了解。

 

大学的时候虽然有这个课程,但是说实话,只知一点表层的东西。。今天来讨论一下所谓的面向过程、半面向对象、完全面向对象吧。

 

C语言是完全的面向过程编程语言,其逻辑按照执行顺序进行,程序员在设计的时候也是以先后顺序,(这里一般称流程)来考虑与设计程序。

C++提供了面向对象的思想,但是就其面向对象性,很多人提出了质疑。说C++只能算一半面向对象,而JAVA、C#之类的才是完全的面向对象。(也有人说smalltalk之类才是完全的Object Oritened,不过我对其完全不懂。。。所以暂不介绍)

 

这里非完全面向对象与完全面向对象的主要区别是:main函数在哪。

 

C++ 中是一个独立的模块。而JAVA、C#中是在一个类中。

 

这就有意思了,

 

其实main函数具体在哪,并不太影响人们的代码编写与面向对象的设计思维,所以这个争论我觉得对于程序界的实现并没有太大影响,从而上升为一个哲学问题。

 

实际上该问题我觉得就等同于宇宙的起源说。

 

1,有人说宇宙起源于混沌,一个大爆炸,于是开始以光速放射,时间从那时候开始。

2,有人说宇宙是线性存在的,时间是绝对的,万物都在时间的一条基线内运动。

 

其实1就是所谓“完全的面向对象”,他把时间的起源也归从与物体之下。(宇宙的开始,导致时间的起源)这不就是所谓的main包含在对象中么?

 

2就是所谓的“不完全面向对象”,他把宇宙从时间中独立出来,时间绝对存在,一切物体在时间中运动。这不就是所谓的main不包含在对象中么?

 

说的相当凌乱。。而且很可能有很多错误,今天相当累了,暂写到这……

 

by the way:大话C、C++系列都是我每天上下半总共加起来1个小时骑单车时瞎想的,呵呵。

上一篇:

下一篇: