—— 今天想了想,大话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个小时骑单车时瞎想的,呵呵。
分享到:
相关推荐
尚硅谷的这个项目三,通过实际的编程练习,帮助学习者深入理解面向对象编程的关键概念。在观看视频教程(BV1Kb411W75N/?p=387)的同时,配合实践操作,可以更有效地掌握这些知识。 1. 类与对象 类是对象的模板,它...
本文实例讲述了Python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下: 我先总结一下python中的类的特点: 1.类中所有的方法的参数中都必须加self,并且是第一个参数 2.__init__方法用来...
matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar 最近想好好学学matlab面向对象编程的一些东西(以前也自学过,但现在想系统学一下,libsvm工具箱几乎已经没有...
python面向对象程序设计实践(初级) ——以《三国演义》中三英大战吕布为例 设计实现思路: 设计类 定义武器类:武器名,攻击力 定义人物类:继承武器类,姓名,生命值 设计函数简化对象的使用 延时函数:延时0.5秒...
多态是指不同对象对同一消息(方法调用)的不同响应,是面向对象的核心特性之一。 通过这些基本概念,你将能够开始使用PHP5进行面向对象的开发。继续深入学习,理解类的高级特性,如属性和方法的可见性、静态成员、...
而Coding Block则是SAP ABAP编程中的一项重要概念,它对于理解SAP编程逻辑、提高代码效率和可维护性具有关键作用。这篇文档将深入探讨Coding Block的各个方面,帮助读者掌握这一核心技能。 Coding Block,顾名思义...
Coding Theory The Essentials
在本主题中,我们将深入探讨Phase Coding的概念、重要性以及相关技术。 首先,我们要理解Phase Coding的含义。在软件开发过程中,编码通常被分为若干个阶段,每个阶段可能针对不同的功能或系统模块。这样做的目的是...
面向对象编程是Python的核心特性之一,它是一种编程范式,基于“对象”的概念,通过封装、继承和多态等机制来组织代码。在Python中,面向对象编程提供了强大的抽象能力,使得代码更易于理解和维护。 1. **编程思想*...
下面将详细介绍Zen Coding的核心概念以及如何利用它来提高开发效率。 Zen Coding最初由Dmitry Baranovskiy在2009年提出,其理念是通过简短的缩写语法,自动生成复杂的HTML结构。这种语法基于CSS选择器,使得开发者...
"zencoding-vim" 是一个专为Vim编辑器设计的插件,它引入了Zen Coding的概念,大大提升了前端开发者的工作效率。Zen Coding,后来更名为Emmet,是前端开发领域中一个快速编写HTML和CSS的工具。这个插件将Emmet的功能...
7. **面向对象设计**:教授面向对象编程的基本原则和模式,如继承、封装、多态等概念的应用。 8. **递归**:探讨了递归的基本原理及如何有效利用递归来解决问题。 9. **排序和搜索**:详细介绍了各种排序算法(如...
面向对象设计是软件开发的基础,本章会讲解类、对象、继承、多态等概念,并提供相关的面试题目。 ##### 3.7 排序与查找 排序和查找是算法中最基本的部分之一,本章将深入讲解快速排序、二分查找等算法,并提供相应...
“BiT长度”可能是指位宽管理,这是RTL设计中的一个重要概念。`Talk about BiT length .pdf`可能详细讨论了如何适当地选择数据宽度,以平衡设计的资源消耗和性能。文件可能会涵盖如何根据应用需求确定合适的位宽,...
5. **面向对象编程**:讲解类和对象的概念,以及如何通过继承和多态来设计可复用的代码。 6. **项目实践**:提供一系列实际项目,如创建简单的命令行工具、数据分析应用,甚至基础的Web应用,让孩子通过实践来巩固...
- **面向对象设计**:面向对象的基本概念和设计原则。 - **系统设计和内存限制**:系统级别的设计考虑和内存管理。 每一道题目都附带了详细的解析,帮助读者深入理解问题的解决方案。 #### 四、编程语言篇 针对...
《Coding Games in Scratch》是一本面向初学者的编程教材,主要使用Scratch编程语言来教授游戏开发的基础知识。Scratch是由麻省理工学院(MIT)的“终身幼儿园团队”开发的一款图形化编程工具,旨在帮助孩子们学习编程...
1. **ZenCoding的基本概念**: ZenCoding的核心理念是利用简短的代码片段(称为 Abbreviations)来生成长长的HTML结构。例如,`div>ul>li*3` 这个缩写会自动扩展为一个包含三个li元素的div内的ul列表。 2. **缩写...