前言: oop非常非常非常重要.搞不懂oop,就玩不了python,就算能写也一定是写代码时候喜欢靠猜瞎猫碰死老鼠写得心很虚.为什么这么说呢,我也是从面向过程编程到死走过来的,一路def到死,一看到有class的代码就逃到十万八千里了不想看,想千方设百计绕过这样的代码.不仅不愿意看这样的代码,而且写代码时候很没思路,老是有一个想找一个原本有的类似的项目或模块,然后全盘复制过来,在里面进行扣字修改这种冲动.完全从0开始亲手写一个稍微复杂的文件是不存在的,做不到这一点(不知道有没有人相同的感受).而…
1.java是强制写class关键字的语言,不能有独立的函数游离在类外出现在文件中,这和python c++ 都不同,后面的都可以单独在类外写函数,所以java被称为是纯面向对象的语言,py和c++都不是强制向对象的写法. 2.尽管如此,有的笨瓜,还是打死也写不出类来,而且强烈的反对写类,认为面向过程已经能搞定一切了,发明c++这种语言的人就是闲的没事,c++对于c来说是完全的多余没必要. 但是当被公司要求写java时候,就会蒙蔽,觉得没有面向对象经验,很难转变,此篇演示完全的面向过程的思维来写…
欢迎转载本文,转载地址: http://www.juliantec.info/articles/basic-concept/poa-and-ooa.html 软件开发方法论概述 在60年代的软件开发行业,随着所开发的软件复杂度不断提升,使用原先的方法(1)开发出来的软件终于不能满足需要,其所出现的问题是层出不穷,而且由于缺少必要的文档,人们又没办法寻找定位出其中的问题所在.更有甚者,就算是找出其中的问题,但由于软件设计的杂乱不堪,其修改起来也是叫人头大...于是,终于爆发了所谓的软件危机. 危机…
面向对象和面向过程各有千秋 一.面向过程与面向对象对比  面向过程:强调的是每一个功能的步骤,有很多很多方法组成,这些方法相互调用,完成需求. 面向对象:强调的是对象,然后由对象去调用功能. 面向过程:如果做小的项目,则效率非常高,很快就能实现,但是后期维护非常麻烦. 面向对象:如果做大的项目,则效率相对会低,但是代码结构性很好,后期维护容易.从这个方面来说,效率反而提高了. 面向对象是基于面向过程的编程思想 二.以面向对象为主,对比面向过程说明面向对象的思想特点 世间万物皆对象        …
这是最近一周时间几个读者小伙伴所提的问题,我顺手截了两个图. 实不相瞒,这类问题之前也经常看到.     每次遇到这种问题,看起来很简单,但是打字一时半会还真说不清,想想今天周末了,写一篇文章来统一聊聊吧,如果小伙伴们有不同看法,也欢迎批评指正,评论区见.   C 和 C++ 到底是什么关系? 首先 C++ 和 C 语言本来就是两种 不同的 编程语言,但 C++ 确实是对 C 语言的扩充和延伸,并且对 C 语言提供后向兼容的能力.对于有些人说的 C++ 完全就包含了 C 语言的说法还是有点别扭的…
“C语言还用再学吗?嵌入式工程师可是每天都在用它,大家早就烂熟于心,脱离语言这个层面了”.这样说不无道理,这门古老的语言以其简单的语法.自由的形式的而著称.使用C完成工作并不会造成太大困扰,所以很少有人会回头再仔细看看它.但在现实中却经常会有一些令人抓狂的bug,最终发现竟是语法使用错误造成的,而作者不乏老程序员.仔细想想,其实每个人对C都有些含糊不清的地方,C好像又变得复杂起来.但事实却不是这样,C语言依然是简洁的,它的语法只需几页纸便可讲清.回想起来,其实是我们学得太过匆忙.太过功利,记忆了…
引言 计算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕竟是少数.如…
最近接受老代码,mmp的,说是重新运行运行起来,那还不如重写呢,因为有很多毛病,不能直接运行,pep8就不用妄想奢望了,还有包括语法错误问题和内存严重泄露的问题(运行几分钟后python.exe进程达到2GB直至把电脑卡死),而且很难看懂代码,修改也不方便. 1.笼统的说,大部分人都认为面向对象适合大项目,小项目使用面向过程好,那么这到底是为什么呢,不知道大家有没有思考和体会和实践对比过,还是对此完全没有任何心得体会只是跟风这麽认为? 2.python是很精简的,300行抵得上java500行.…
面向过程 思维方式:把解决问题的关注点,放到解决问题的每一个详细步骤上面. 面向对象 思维方式:把解决问题的关注点,放到解决问题需要的一些对象身上. 创建对象: 对象字面量 使用内置构造对象 封装简单的工厂函数 自定义构造函数 构造函数 定义:构造函数也是函数,通常用来初始化对象,并且和new关键字同时出现. 书写:构造函数名,首字母要大写,以示区分. 实例化:通过构造函数创建对象的过程,就叫做实例化. 实例:通过构造函数实例化出来的对象就是该构造函数的一个实例. 构造函数执行过程: 使用new…
# 我为什么要学Go语言 ### 公司的强烈推荐---之前也了解过Go语言并没有觉得有什么了不起,Go能做的其他语言都能做. ### 网上查找学习Go语言的理由---网上大体有两类人,一类说Go是大公司出的很火很流行区块链开发并发等,另一类多是从实用的角度分析反思编程思想,为什么是Go而不是其他语言,甚至有同学旗帜鲜明反对Go语言,不过从后来的其他人的文章来看,反对者说的可能是反话吧.总结如下:- Go语言是面向过程,面向对象,函数式编程这些编程思想的进化,是变革的语言,拥有这些编程思想的集合,…