白话编程-概述
前言:
? ? ? ? 编程作为一种纯理性的学科,时刻都要明白自己到底在干什么.程序方面的书很多,却难以有那种把复杂问题讲清楚,让人很容易理解的.笔者想建立一种程序方面简单的思维,便于理解和记忆.
目录
一.概述
二.面向过程和面向对象
一.概述
? ? ? ? 编程到底是在干什么?
? ? ? ??1)编程大多数情况下被描述是一种逻辑表达.再细致一些,编程是一种以数据表达逻辑,满足需求的技术.多了数据,实际上程序都是围绕着数据来展开的,后面会有专门的篇章讲数据.
? ? ? ? ---编程是一种用数据实现或者数据变化实现的的输入--输出逻辑
? ? ? ? 2)编程就像在"写公式"
? ? ? ? 程序员写好程序,用户使用程序,结果是根据用户需求实现的.
? ? ? 3)编程的语言有很多,但本质都是一样的.
? ? ? ? 如果用机器语言编程,或者汇编语言编程,直接调用寄存器.
? ? ? ? 如果是面向过程的语言,比如C,用函数处理数据,再把数据写入寄存器.
? ? ? ? 如果是面向对象的语言,比如C++,Java,是写对象并且将数据映射到寄存器
? ? ? ? ---计算机工作原理的模型中,CPU负责处理数据,再将处理好的数据传入硬件寄存器,产生需要的效果.所以简单点说,编程就是改变寄存器数值(假设数据驱动硬件,当然也不需要假设,产生的数据总是要有用处的)以满足需要.
二.面向过程和面向对象
? ? ? ? 属于两种不同的编程思想,面向过程偏重于算法,面向对象偏向于设计---摘自<<C++编程思想>>
? ? ? ? 面向过程是在干什么?编写函数给别人用.
? ? ? ? 面向对象是在干什么?编写类给别人用.
? ? ? ? 二者是相同的,只是面向对象先用类生成对象,再调用方法.
????????不同之处:
? ? ? ?1.面向过程里的数据是一些基本定义的数据,比如int,double,char(包括最重要的指针)等等,又称为内置数据类型.面向对象里的数据在这基础上增加了类,接口等数据.
? ? ? ?2. 面向过程的语言不适合大型程序的编写,举个例子:当有一个需求要满足,需要调动上万个寄存器的时候,两种方法一对比,如果只用1次,那么没有区别,甚至面向过程的效率还高一点.但如果需要做一点改动,面向过程的代码是要做大量工作的,不方便重用.?---这个例子可能暂时抽象.
????????面向对象弥补了这个缺点,类的概念就是为了代码重用产生的.他牺牲了一点运行效率,但大大提高了编程的效率.
? ?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!