该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这种重用不过还是引用别的类的函数或其它成员元素

我老听有些不懂编程却爱喷的人说什么面向对象代码可重用性"强"

C写的代码 完全不能重用 改起来几乎不可能 做不了大项目 云云

我当时就纳闷了 因为众所周知 世界上性能最好 最稳定的操作系统LINUX 它是纯C和极小部分AT&T汇编写的 GNU的全部库也都是纯C LINUX下绝大多数软件也都是纯C 这些成熟的项目加起来代码量至少几亿甚至十几亿行 仅LINUX内核就1千多万行 这已经是地球已知最庞大最复杂的代码了 我实在不知道还要如何庞大和复杂 不照样天天更新吗?而且它们往往是同类软件中更新频率最高的,也没发现哪里不便维护了.

只学过AT&T汇编和C的我 耐着性子看了所谓的C++以及其衍生语言JAVA C#中的所谓"代码重用"

其实他那叫作类的成员重用还恰当些.

问题来了 类把函数封装起来 没有权限的不能调用 所以为了能使用别的类的函数 就搞出了所谓的类继承 多态

但对于作用域为全局的函数来讲 这是直接就可以做到的 不需要像继承一样 明明本身就是同一个工具 非要包在一个盒子里 然后任何其它人用了都得先拆盒子 这种脱裤子放屁多此一举的狗屁愚蠢思维居然还被有些人人云亦云的捧为先进

发明这种思维模式的人 居然还美其名曰改变了代码开发模式 使"代码可以重用" "这是C等'面向过程'语言'所不具备的'"(面向这个词是指思维 我没见过任何用C的人把C当SHELL一样 真用过程思维 谁能写出程序?)

分类的方法在设计属性和类别复杂的程序 尤其是既复杂 类别还完全重复的程序 比如二维表 包括类似数据库的实现 ,文件系统等等 能使程序和数据结构更加清晰合理.

其实类只不过是一种思维上分类的方法 容易理清编程思路 不知道哪个艾斯比最先把分类这种思维模式 还是C语言里就有的内容 给喷成所谓的"面向对象" 然后把C给不懂装懂的喷成"面向'过程'"的.

开源程序员 真不愧有很多都是世界最顶尖程序员,用C里合法又最醒目的符号下划线 实现和类同样的分类效果 而且还不封装.不用继承就能实现重用代码.

LINUX内核和其下所有库 软件几乎全是用C语言按照这种书写风格开发的.

而且更不可思议的是 我这个初学菜鸟 居然自己没参考过别人的代码很自然的就用这种写法 能和世界最顶尖的程序员有同样的思维和习惯 真让人荣幸 不,是受宠若惊.

linux c 多态原理,看了所谓的面向对象中靠继承多态实现的所谓重用 哥笑了相关推荐

  1. C++ 面向对象(二)多态 : 虚函数、多态原理、抽象类、虚函数表、继承与虚函数表

    目录 多态 多态的概念 多态的构成条件 虚函数 虚函数的重写 协变(返回值不同) 析构函数的重写(函数名不同) final和override final override 重载, 重写, 重定义对比 ...

  2. linux怎么进入bios看raid,教程:BIOS中如何打开RAID模式

    教程:BIOS中如何打开RAID模式 用户构筑RAID 0阵列系列步骤非常简单,只需在BIOS中轻松几步设置即可搞定.目前主流的B75/B85主板具备RAID0功能,其中B75仅有1个SATA3.0接 ...

  3. 面向对象编程 封装 继承 多态(三大特征)(第三篇)

    封装 封装是面向对象编程的三大特征之一. 封装有两方面的含义: 1.将数据(属性)和行为(方法)包装到类对象中.方法内部对属性进行操作,在类对象的外部调用方法.这样,无需关心方法内部的具体实现细节,从 ...

  4. c语言编程 菲薄拉,C语言设计模式-封装-继承-多态

    快过年了,手头的工作慢慢也就少了,所以,研究技术的时间就多了很多时间,前些天在CSDN一博客看到有大牛在讨论C的设计模式,正好看到了,我也有兴趣转发,修改,研究一下. 记得读大学的时候,老师就告诉我们 ...

  5. linux copy_from/to_user原理

    转载地址:http://www.poluoluo.com/server/201107/138420.html 在研究dahdi驱动的时候,见到了一些get_user,put_user的函数,不知道其来 ...

  6. linux系统调用的封装格式,ARM Linux系统调用的原理

    ARM Linux系统调用的原理ARM Linux系统调用的原理 操作系统为在用户态运行的进程与硬件设备进行交互提供了一组接口.在应用程序和硬件之间设置一个额外层具有很多优点.首先,这使得编程更加容易 ...

  7. c++中的多态---1(多态概念,静态联编和动态联编,多态原理解析,重载,重写,重定义的对比)

    多态的基本概念 多态是面向对象设计语言数据抽象和继承之外的第三个基本特征 多态性(polymorphism)提供接口与具体实现之间的另一层隔膜,从而将"what"和"ho ...

  8. linux进程管理原理

    Linux 是一种动态系统,能够适应不断变化的计算需求.linux 计算需求的表现是以进程的通用抽象为中心的.进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务).因此,对进程及 ...

  9. Android 6.0 JNI原理分析 和 Linux系统调用(syscall)原理

    JNI原理 引言:分析Android源码6.0的过程,一定离不开Java与C/C++代码直接的来回跳转,那么就很有必要掌握JNI,这是链接Java层和Native层的桥梁,本文涉及相关源码: fram ...

最新文章

  1. “西南偏南” 三十年首次 “聚焦中国”
  2. 循序渐进看Java web日志跟踪(1)-Tomcat 日志追踪与配置
  3. Apache如何将HTTP重定向到HTTPS
  4. ECShop显示某商品销售累计
  5. Django如何安装指定版本
  6. wxpython 文本框TextCtrl
  7. 北京冬奥会闭幕 冰墩墩概念股怎么样了?
  8. 异常日志处理-ThrowsAdvice
  9. The 6 richest people in the world
  10. FFmpeg设置OpenMax硬件编码
  11. 基于Java+Springboot+Vue+elememt宠物用品商城系统设计实现
  12. 手把手教你关闭iphone系统自动下载(新增IOS11描述性文件地址)
  13. Android之Dex动态加载机制解析
  14. 用SVD压缩彩色图片(MATLAB代码)
  15. c语言考试的说说带图片致自己,励志说说带图片致自己
  16. 慕课网-安卓攻城狮视频学习及练习(一)
  17. 广告竞价-广义第二出价
  18. 第六章 半导体存储器【微机原理】
  19. continue的用法
  20. 收发一体超声波测距离传感器模块_空气中70KHZ超声波换能器传感器探头DYA-70-03A测距探头3米量程...

热门文章

  1. 计算机硬件四大部分组成部分,2014考研计算机大纲 组成原理部分四大变化解析...
  2. bat 域 本机管理员密码_Windows域中特殊的用户-计算机对象攻防
  3. 吸引纠缠的双白矮星和迭代收敛的神经网络
  4. python 慕课课程笔记(一)
  5. 计算机组成原理数据冒险的解决nop,计算机组成原理实验讲义(103页)-原创力文档...
  6. c mysql insert语句_MySQL_mysql insert详细讲解,INSERT语法 INSERT [LOW_PRIORITY |DELA - phpStudy...
  7. mysql事务隔离级别 花_MySQL事务的隔离级别
  8. 【Python】纯代码通过神经网络实现线性回归的拟合
  9. 【控制】频域分析及奈氏判据
  10. 1.5 关于这门课-深度学习-Stanford吴恩达教授