编程学习心得和方法

时间:2019-05-15 10:25:55下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《编程学习心得和方法》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《编程学习心得和方法》。

第一篇:编程学习心得和方法

雪中悍刀行 http://bmdqw.com/

编程学习心得和方法

说到编程,很多人首先会想到C、C++,JAVA,DELPHI。没错,这些都是现今最流行的计算机程序语言,它们各有特色。然而事实上是,不为人知而且比它们更好更出色的语言有很多。它们得以流行的原因有很多,其中最重要的一点是,它们在计算机语言的发展历史上有重要的划时代意义。特别是C的出现,将软件编程引入了真正的可视化编程。很多新语言的出现,解决了当时不能解决又不得不解决的问题。

另外,这些语言的确是出色的,它们不但易学,更是易用,这也是它们得以流行的一大原因。大家的支持,和个别系统和开发公司对它们的支持,以及它们的开发组件和类库众多和广大推广的原因,也使得它们当今数一数二的计算机语言。

编程语言不只有这些,计算机语言还有很多分类,其中,网络编程也属于其一。广为人知的编程语言有ASP,JSP,还有PHP。当然,还有脚本语言,比如ASP用的VBscript,还有在客户端流行的Javascript。其中,ASP(asp.net)基于VB(vb.net),JSP基于JAVA。现今已经发展出各种各样的编程语言,并且,它们大多采用了英文编写,单是关键字和标准类库就要我们花时间去记忆和识别,最后,还得去灵活运用更多的东西。所以,我们想一次性学习它们,这是不可能的事情,尽管大多语言很相似,你也不可能做到的。事实上,很少有人能够学习全部,大多都只能擅长某一种。

即便是高级编程人员,像那些为开发软件工作的类库和组件高手,他们也不敢说自己精通每一种语言。事实就是这样,每一种语言有着它们相似而又不同的语法,它们有着不同的关键字,发展出了各种各样的类库,它们的函数或者方法的声明定义都有不同,更多的差异不为我们所知。

每一种语言,它都有着太多的东西需要我们去理解和记忆,我们没有时间和精力做得太多。对于初学者,我们最不应该急于求成,更不要试图一次性学习所有语言。事实上,我们可以选取某种语言学习。每一种语言都有着自己的强大功能,好的语言能够完成所有事情,所以,你不要担心学习一种语言不够全面这样的问题。

当你能够得心应手掌控你学习的一种语言后,你回过头来再去学习其他语言时,你可能会发现,原来,这些语言是那么的相近。这个时候,你再去学习它们,我想,那真是很愉快的事情,大概,那个时候,你会笑出声来。

我们知道,从某种意义来说,各种语言都有很多类似的地方,这大概是因为所有的语言开发都是基于已有语言创造的,开发者也出于对大家的尊重,考虑到易于学习等等原因,他们选择了几乎是相同的语法来定义这些新语言。可以说,所有语言都是基于已有语言开发的,没有人能够聪明到突发其想,更不可能一夜之间发明出一种完全不同的外星语。

基于语言再开发语言,这么做能给使用者带来了一次学习,全部学会的好处。当然,最

大的好处莫过于新的语言肯定比之前的语言更加好用简单,功能也更全面强大。某种意义上讲,开发新的语言就是在更新旧语言的错误和不足,最后发展出新语言。

其实,每一种语言的区别大多只在于关键字的区别,还有一些语法上的区别。事实就是这样,很多语言之所以不同,就因为它们的关键字不同。就像你吃饭一样,中国人用筷子,外国人却不是。这些都没有改变吃饭的实质,我们都能完成一样的事情,那就是吃饭。说了这么多,话题也扯得太远了,回过头来吧。说了这么多,我无非是想说,所有的计算机语言都是相通的,你只要学会一种,学习其他的就是轻易而举的事情。所以,你用不着同时学习几种语言。

如果你不按照我的建议这么做,我想劝告你,你将会一样也学不会,至少,你永远不能擅长于编程,更别说精通。每一种语言都是经历了无数年代,最后由开发者总结而来,不是一个人能够轻易学完的,事实上,每一种语言都有开发和支持它们的公司和软件,每一天都有更多的新东西出现,你的时间不应该花在学更多的语言,应该是学习它们的变化。

现在的软件开发早已经不再是手工编程那么复杂化了,大多情况下,我们只要会语法,只要知道类库和开发软件支持的类库和组件,我们就能够编程,但这都只是开发,说不上什么精通不精通。用软件开发软件做软件,很像拼图和画画,你只要学会画就行。

你如果只想开发软件,忽略了语言的基础,我想说的是,你的软件永远不会更好更快。即便如此,你也得花时间去学习你所要用的开发软件的一切,包括那些扩展的组件和类库。另外,请不要忘了,软件开发出来后,还得改进,你是否能够让软件更自动化,能够自己检查错误,也或者,你能让它多线程工作呢?

其实,我们很难在不同的语言相似中区分它们的异同,也不可能同时掌握相同功能下,却有着不同的类库和不同的实现方法中去运用自如。

好了,我现在要说说学习编程的一些简单方法和步骤,今天将是第一章,也是一个开始。大概,你可能会用上小半年的时间去学习它,也或者更久,我希望是这样。

首先,我们应该学习一下计算机的基础,包括硬件基础,特别是计算机的各种发展史。之后,我们要理解计算机的工作原理,我们得知道,计算机依靠什么方法进行运算。

如果一个软件开发者,他开发了众多软件后,回过头还不知道计算机原理,那真好笑的事情,真不知道,他是怎么做软件的。当然,这样的人或许比我们聪明多了,因为他知道什么重要,什么次要。当今的社会,专业才是真,每个行业都有无数学习对象,你能全部学会吗?

其次,你应该着手学习汇编。或许,有人认为这是乎过早了一点。的确,你很有可能会无从下手,这个时候,你可以先大致了解一下,跳过这一步,往后再来学习。

之后,你应该做的是,选择自己想学的语言,或许,应该在C(c++)或者JAVA之间选择一种。当然,你要是只学习网络编程,可以在ASP和PHP之间选择,至于Javascript之类的脚本,你可以最后来学习。

你已经选好要学习的语言了吧?现在,就去选择几本上好的相关基础书籍吧。照我说的去做,你只能选择最为基础的只介绍语法的书,这个时候,你可千万别去看软件设计的书,也别去动那些设计软件。这一点,你千万要做到,朋友,不要急于求成。

好了,选好了书籍了吗?你的书籍一定是最为基础的才行,确定这些后,你应该看书了,对了,看的时候还得记下笔记,最好能够把每一个知识点记下,特别是关键的东西。这个过程是很难熬的,你千万不要急躁,另外,你如果从来没有接触过编程语言,你就更应该慢慢来,你应该花上半天时间学习一个章节。或者,之后的几个章节,你得花上更多时间。我想告诉你,朋友,越到后面越难,编程可不是吃饭那么简单,每个人都得花上很多年的时间学习它。

这个过程中,你还得注意,千万不能跳过看不懂的东西,是的,你可以到网上也或者是找朋友请教,这是很好的办法。只有当你弄明白了一个知识点后,你才能继续学习。也不要急着就学习用开发软件做软件,千万记住这一点。你现在是在学习语法。是的,语法这一关,你得用心,而且得认真对待,还得过关。你想不种豆就有豆子收,世上可没这种好事情,除非你偷别人的,那还是自己的吗?更何况,你是要为自己学习。收获都是要时间的,成熟都需要时间。现在,趁你还在学习语法的时间,你们来简单提一下语法吧。

关于基础语法,大概有几个方面,当然了,每种语言各有不同,不过,大体都一样。

一、语言本身的发展史和特点

其实,这一点,在我们选择某种语言的时候就应该提前了解。我在这里只想给大家说说自己的心得。

其中,JAVA的好处,一次编写,永远运行。它的最大好处不只这些,大家最喜欢的是,它可以在不同的环境下工作。是的,它不只是在计算机上能够运行,它同样能够在数码产品上运行,只要相应的机器上有JAVA虚拟机,JAVA软件就能运行,而且我们不必为不同的机器而修改我们的软件源码。

JAVA这个语言是九十年代才出现的,它由SUN公司开发,它的发展也算是飞快的。它的设计初衷是要在网络上应用。然而,它却不巧的成为了能够运行在更多环境下的语言,可以说,也正因为这一点,它才得以流行。当然,它的确也成就了网络,它的出现为网络编程带来了更多的功能和应用。

事实上,当今的网络应用中,JAVA、FALSH、JS、ActiveX这些小程序或者说是脚本插件,它们真是功不可没。另外,JAVA小程序比其他脚本或者插件都要安全,因为它的运行都在虚拟机下完成,不允许超越出去操控机器本身。

JAVA已经发展到了JAVA2,它已经深入计算机编程,特别是同时应用在网络和数码产品上。没什么好说的,它和C很相似,事实就是,它是基于几大语言开发的,它去除了许多语

言中难懂的语法。特别是,它没有了指针,它还能自己检测错误。

如果你觉得C太难,又想制作可以在数码产品上运行使用的软件,比如NOKIA手机的S60系统下的软件什么的,可以学习JAVA。

至于C语言,现在已经有三个版本,C、C++、C#。多的不说,这个语言是现在的主流,大多软件都靠它。三种版本的区别在于,第一个主要是采用旧式的结构化模式编写,C++最大特色是面向对象,至于最后的C#,它基于.net。

C语言成功之处在于,它的出现,简化了软件开发流程,易于学习和编写,另外,它最大的特点在于,它既是基础语言,又是高级语言,或者说,它就是中级语言。作为基础,它能够操控基层的东西,比如内存、计算机硬件本身。事实上,很多硬件驱动都由它制作而成。另外,UNIX的内核曾经都是用它做的,可见它非同一般。可以说,C几乎能够完成所有的计算机功能,当然,不是太绝对。对于一些更基础的东西,大多用汇编搞定。另外,你还得明白这么一点,越是基础的东西,要用更加基础的语言去实现。各种数码电器包括电脑系统都不会用这些高级语言编写,有着更深的东西不为人知,我们只有继续学习才能搞精这一切。现在,我们只要学习自己的语言就行。

以这里,我还得说说VC,当然,还有VB。事实上VC和VB是微软公司的产品,我个人认为,VB就是在C的基础上产生的。C语言可以轻松更改成其它语言,这也是它很厉害的一个地方。事实上,像大多的基础语言一样,C的本身语言特点让它有这样的能力这么做。我们能够用C的一些关键字设计出各种函数和库,它们当然可以和VB和其他语言的函数和类库同名,某种意义上说,就因为语言之间的类似造就了它们之间的相互转化。

同样的,它也能像高级语言一样工作,前提就是,你要自定义自己的函数库和类库。这一点,就是学习编程语言的难点之一。

VC和VB已经发展成了.net版本,ASP就是从VB而来,如今,也有了ASP.net。

很多初学者大概不知道VC和VB是什么,事实就是,它们是微软的软件,很简单,它们只是软件。这么理解大概会好一些,是这样吧。

C语言的开发软件有很多,最著名的莫过于VC++_NET和C++BUILDER,是的,C语言并非某个公司和个人的专属产品。

DELPHI,这个语言可能没有C和JAVA出名,但事实上,它是一种很不错的高级语言,能够制作各种软件,而且它比我们想象中更加简单。DELPHI属于BOLAND公司的产品,开发软件是DELPHI BUILDER,是的,BOLAND公司的开发软件一直被人们称道,这是因为,它为我们提供了各种各样的组件,可以说,我们只要半天时间就可以用BOLAND公司的软件轻松做出功能强大的软件。包括C和JAVA BUILDER。

VB并不是语言,我把它单独列出来,只是说,我们可以单独学习它来制作软件。事实上,不少的游戏都由它开发,可见它的功能比想象中强大。还有一点,它和BORLAND公司的开发软件真是太像了,它给大家提供了很多基于WINDOWS的组件,可以超快开发软件。如果是学习网络编程,你可以选择ASP或者PHP,也或者JSP。ASP(NET)的特点是,它出自微软的VB,用VBscript脚本以及VB(DLL)的ActiveX组件构成。它需要运行在安装了IIS的WINDOWS服务器上。ASP(NET)站点的最大好处在于,可以在任何可以显示的浏览器上正常动作,所有的脚本代码运行和数据处理都在IIS服务器上完成,我们不必担心客户端是否支持的问题。另外,ASP源码不会传到客户端,某种意义上可以防止别人看到你的代码。学习ASP,你还得慢慢学习ActiveX组件,有的人可能会感到惊讶,比如数据库连接或者分页功能,在ASP看来,实现这些东西真是太过简单了。也有的人会搞不明白,为什么语法里没有这些东西,ASP上却有这些,事实上,朋友,ASP支持DLL组件,也就是说,只要你是编程高手,你可以用其他的开发软件,比如VB,为你的ASP自创组件。

组件很像编程中的类库,一般来说,我们不必去细验它们是什么,又怎么工作,我们只要去运用它就行。现在的情况就是,各种语言都有第三方的支持,也就是组件和插件,你可以从别的公司或者网上获取,这样的好处在于,你不必自己编写更多的东西,却能够用别人的成就完成各种工作。比如上传文件和下载等等。

好了,关于怎么做组件什么的,你可以学习编程。但如果是聪明人,你不会这么做,因为你没有时间和精力学太多。要知道,你要吃饭,最多是自己种地买碗筷,你用不着自己造碗筷,更用不着去管什么桌子凳子。只要你会工作,用钱就能搞定一切。编程也是这样,你只要会用就行,除非你真把自己当博士,也或者,你还真想什么都弄精,那不成了神精,或者当神仙或者机器去吧,凡人是没那本事了,你不过几十年的光阴可以用耶。

学习就是学习精要,而不是概要;学习更不是全面,而是专业。八十年代出生的人大多受了蒙蔽,人人只知道当科学家或者天才,也或者都想做事完美。告诉你,完美过气,要完美的,回家种地去吧。

关于PHP和JSP,我个人不是很懂,所以,我不会过多提及。

另外,学习网络编程的朋友,你得选去学习一下XHTML标准,你也要按照这个标准行事。你也不要只学会用网格做网页,要知道,现在大多数情况下在抛弃它了,我们用CSS实现更多功能。

学习是一步步来的,现在,你只管学习语法,在后面,我会提示你怎么做的,每一步,我都有介绍。

另外,不知道有人是不是误会我的意思了,网络编程,可从来没有说,像HTML或者网页设计属于这个范畴。所以,连HTML都不懂的,先回去学习网页制作和设计吧。当然,没必要还学什么FLASH,你又不当美工。当美工的,还是不要学网编的好,学得多了,小心你什么都不精。告诉你,专一才能研究直到精通。

二、数据类型,变量,常量,数组

数据类型是最为基础的语法,每种语言都有相似或者相同的数据类型。我们应该理解什么是数据类型,也就是学习和记住所学的语言里包含哪些数据类型。从某种意义上说,数据类型属于简单的类。

每种语言的数据类型有所不同,你只需记住自己学习的语言的类型定义就行了。通用的基础常用数据类型有字节型、整型、字符型、浮点型、双精度型、布尔型。当然,数据类型还有更多。

其中的C、C++里面,有些类型在不同的系统里有不同的范围,比如在32位和64位系统里,有2字节和4字节长度范围区分。

变量和常量,还有数组,各种语言都基本相同,你只用记住如何声明和初始化。另外,你得养成先声明再初始化的习惯,这符合更多语言的变量声明语法,也更为标准,不易出错。另外,变量的声明要符合标准,不能用关键字做变量名,一般来讲,变量只能以字母开头,还只能是字母、数字和下划线构成。有的语言区分大小写,千万注意这个问题。

另外,变量还有局部和全局之分,你得搞清楚什么时候属于什么类型。局部变量只会局部存在,有的语言在某些范围内不能有重复相同的变量和局部变量,但有的语言却可以。我们要理解什么是数组,特别是多维数组。还有一点,数组的超始是零,认识到这一点是非常重要的。最后,字符串属于特殊的数组。

三、运算符

计算机语言的初衷就是用来计算,自然要有运算符。

最常见常用的自然是算术运算符,加减乘除。在这里,我们要记住递增递减,赋值运算,还有模运算。

位运算符:或,与,非,异或,各种位移。

位逻辑运算符:按位或,按位与,按位非,按位异或,关系运算符:大于,小于,等于,不等于,大于等于,小于等于

布尔逻辑运算符:逻辑或,逻辑非,异或,相等,不相等,三元运算符

赋值运算符:注意有的语言= 和==的区别

之后是运算符的优先级,我们可以用各种括号控制优先级,其实这和数字上的运算很相似。

四、程序控制语句

程序控制语句用于判断和跳转,其中最常见的有以下几种。

条件语句:if-else-if 在这里,有几种不同变化,大体相同

Switch(){case…break….default}

循环语句:do...while while {} for(;;)

跳转语句:Goto break continue return

五、其他。

在这里,我不再过多举例,其实,这里有最重要的东西没有讲,比如类,函数,继承,指针,异常处理,多态,多线程。这中间还有构造函数,解析函数等等。这些可以说是语法中的重点和难点,所有语言之所以成语言,也就是它们有着这些特性。

大概,你已经看完了几个章节内容。现在,你已经对编程有了基础认识。好了,你在这个时候,可以找两本简单事例的书籍了,你可以一边学习一边写程序。

是的,如果可以,你应该用记事本这样的工具来编程。当然,要在自己的电脑上运行你的程序还得安装好相应的软件,比如ASP(NET)的IIS,ASP.net 还得安装.net,JAVA的JDK,至于C语言,你可以安装VC,也或者C++BUILDER,这个时候,你就要学习如何配置自己的电脑并且如何运行这些程序。

千万不要被相应的软件吓住,是的,每种软件开发工具比你想象中还要复杂,告诉你,它们比看起来还可怕。不过,那只是现在的情况下,不用担心,总有一天,你能够轻易运用它们,到时候,不是它吓你,而是你吓它了。

你应该做的范例只是用来显示或者计算,如果是网络编程,你应该提前学习一下网络设计软件,像Dreamweaver。

(好了,今天就到这里,我想,下次再继续吧。欢迎到我的网站交流)

本文由整理。

第二篇:编程习惯和方法

1.1 编程思路

 [打桩] : 从设计的角度出发解决问题,而不是想到一个算法,解决一个功能或部件,一般需,确

定是否发现到类,发现到类,确定需要那些属性,确定那些方法;

 [用例]: 作单独得测试用例验证自己的算法,实现类的局部逻辑;

 [集成]: 通过测试用例的验证,集成实现类,或模块;

1.2 如下编程习惯 – 纠正

 通过频繁的使用编译器来找错误,或验证程序 不是合格程序员;

 滥用对象,方法的实现 临时变量泛滥,for, 等语句块中临时变量泛滥

 方法实现没有划分逻辑段的概念,一气呵成。

 任务的完成过程中,产生一堆的过程代码,提交正式代码100行,耗用了5000行代码试验

[人海战术,投入产出比太大]

 一个功能函数实现,到处出现,没有统一的出处概念, 维护成本

 没有节约内存使用管理意识,泄露太多

 一碰到问题就问,没有主动思考意识,主观能动性较差

 一个函数几百上千行,成了超级函数,没有模块意识;

 函数的形参庞大,没有结构意识

 c/c++ 体系理解不清,程序中混乱使用;内存分配,动态数组

 发现难点,复杂得地方 绕开,或简单处理一下;

 编译问题的解决主观能动性不够,一碰到问题头就大,就问别人;

 一个错误多次出现

 喜欢做难的挑战的任务,消极对待简单的任务,或不屑做简单的无难度的任务

 工作个性化,从网上参考来的代码没有消化整理,就使用,界面风格偏离太远

 代码写完回头改规范

 一个函数的逻辑实现不彻底,总总修修补补

 技术泛滥使用,追求时髦的技术

 缺少耐心看msdn,objectarx 英文资料

 界面没有美观好用的意识,只为实现功能,设计不够人性化

 程序缺少资源节约习惯,类的资源消耗庞大. 程序错误提示框 提示信息模糊不清,太吝啬表达,或提示太程序员语气化;

 追求使用一些晦涩的,高难度技巧的代码

 没有使用枚举的习惯,一大堆 int 值

 非修改维护的代码(新任务),提交任务时残留大量自己注释掉的过程代码;

 获取容器中的元素,没有验证容器的size,直接硬获取

 类,方法 的命名虽然遵循规范,但命名晦涩,不准确。

 没有构造函数初始化成员属性的习惯,包括临时变量也没有初始化习惯;

 结构体中出现 对象,诸如 Cstring 等非原生数据类型

 类的属性习惯 public,1.3 bug维护认识

 简单的开发任务中,也能有大道理,合格的程序员简单的功能同样做的伟大。[精耕细做]  Bug 维护是程序员成长的捷径

第三篇:软件编程学习心得

软件编程学习心得

随着计算机技术的发展和工作的需要,为了能够更好的维护公司生产管理系统;公司安排我们到北大青鸟APTECH进修。我们选择了时下最流行、发展速度较快的语言C#。C#学习共分三个阶段,目前我只学习了第一个阶段;现将我在北大青鸟学习第一阶段为期两个月的学习心得总结如下:

C#是一种新的面向对象的编程语言,专门用于.NET运行时。C#编译器只能生成受管制的代码,也可以使用.NET基类。C#语言自C/C++演变而来。但是,它具有简单、现代、完全面向对象和类型安全等诸多特性。下面就简单说说简单和现代其中两种特性。

1、简单

C#具有C++所没有的一个优势就是学习简单。该语言首要的目标就是简单。很多功能(还不如说是缺少了C++的一些功能)有助于C#全方位的简单。

在C#中,没有C++中流行的指针。默认地,您工作在受管理的代码中,在那里不允许如直接存取内存等不安全的操作。我想没有C++程序员可以声称,从没有使用指针访问过不属于他们的内存。

C#弃用其它操作符,名字空间、成员和引用仅使用单个操作符 “.”。现在一个程序员所需要理解的就是嵌套名字的注解了。

C#使用统一的类型系统。这种系统充许您把各种类型作为一个对象查看,它是一个原始类型还是一个full-blown 类。和其它编程语言相比,由于加框(boxing)和消框(unboxing)的机制,把简单类型当作对象处理并不能获得性能的改善。稍后将详细解释加框和消框,但基本上仅当需要时才使用对象访问简单类型这种技术。

2、现代

投入学习C#的努力是一笔大投资,因为C#是为编写NGWS 应用程序的主要语言而设计。很多用C++可以实现或者很费力实现的功能,在C#中不过是一部分基本的功能而已。根据应用程序的特殊需求,可以很容易地创建出新的一种数据类型。

指针不再是编程武器的一部分。运行时NGWS提供了一个垃圾收集器,负责C#程序中的内存管理。因内存和应用程序都受到管理,所以很必要增强类型安全,以确保应用的稳定性。

异常处理是C#的主要功能。C#的异常处理与C++的不同点在于它是交叉语言的(运行时的另一个功能)。在没有C#之前,您必须处理怪异的HRESULTs,但现在由于使用了基于异常的健壮的出错处理,这一切都结束了。

对于现代的应用程序,安全是首要的,C#也不会例外。它提供了元数据语法,用于声明下述NGWS安全模式的能力和许可。元数据是NGWS运行时的一个关键的概念。

通两个多月学习,我能够很好的掌握C#语言的基本语句、语法以及老师补充的一些要点;能够编写简单的应用程序,例如电子邮件的收发等,为接下来的第二、第三阶段学习打下了良好的基础。

第四篇:编程语言学习心得

程序语言学习的总结

通过两年的学习,我们基本上掌握了C语言,C++和C#三个编程课程。对于程序设计语言的学习,分为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。课程上的安排除了课堂讲授以外,学院设有专门课堂到实验室进行上机操作实验。

要利用c语言学到的知识编写c语言程序,即把c语言作为工具,通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通过上机实验来验证自己编制的程序是否正确。在这种思想支配下,可能你会想办法去“掩盖”程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

在原有的C语言的基础知识之上,初步接触C++时感到比较简单易懂。但随着之后的步步深入学习,C++的不同之处以及其优势逐。从第二章引入了C++简单程序的设计。包括一些C++语言的概述,基本数据类型和表达式,数据的输入与输出,算法的基本东芝结构,以及自定义类型数据等知识。此部分多与C语言相似。之后又学习了函数的相关内容,这里学到了新的知识要点----函数重载。该内容尤其在现在做课程设计的时候尤为重要。类是C++语言的精华之所在,在学习中,我感觉到类和C语言中的结构体有很大的相似之处,但在类中的构造函数、拷贝构造函数以及类的组合,经常弄混淆一些概念。在这之后又学习了类的继承与派生。这使得类与类之间形成了树状图的模型,各子类可以访问到父类的一些数据成员,同样也实现了数据的之间的“共享”。我个人在编写派生类的构造函数和拷贝构造函数时,感觉很不熟练,后面章节的多态性主要学习了运算符的重载,其本质就是函数的重载。

在学习C#中,类是具有相同特性和行为的对象的抽象。它使用关键字class声明的。在c#中仅允许单个继承,类只能从一个基类继承实现。但是一个类可以实现一个以上的接口。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等局可以看对象,它不仅表示具体的事物,还能表示抽象的规则、计划或者事件。接口只是包含方法、委托或事件的签名。方法的实现是在实现接口的类中完成的。接口可以是命名空间或类的成员,并可以包含下列成员:每个C#可执行文件都有一个入口—Main方法:static void Main()修饰符public表示可以在任何地方访问该方法。所以可以在类的外部调用它。修饰符static表示方法不能在类的实例上执行,因此不必先实例化类在调用。在变量声明时:变量是类或者结构中的字段,如果没有显示初始化,创建这些变量时,其值就是默认的0。变量是方法的局部变量就必须在代码中显示初始化,之后才能在语句中使用它们的值。

课堂上要讲授许多关于语法规则,要使用这些工具解决问题,通过多次上机练习,对于语法知识有了更深刻的认识,在理解的基础上就会自然而然地掌握。一个程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。通过上机实验,熟练地掌握开发环境,为以后真正编写计算机程序解决实际问题打下基础。

第五篇:MFC编程学习心得

//

1、将C语言变量简单重新定义 UINT、INT(32位,4字节)

LONG、DWORD(32位,4字节)WPARAM、LPARAM(32位,4字节)SHORT、WORD(16位,2字节)LONG、LRESULT BOOL(TRUE、FALSE)PINT

PSTR、LPSTR、LPCSTR(字符串指针,只读和可写)

//

2、H开头,Windows句柄类型变量 HANDLE of Windows =>HWND HANDLE of Instance =>HINSTANCE HANDLE of Icon =>HICON

//3结构体类型

SIZE、POINT、RECT

MFC所有封装类一共有200多个,但是MFC的内部技术不只是简单地封装。MFC内部总共有六大关键技术,构架起了整个MFC开发平台。

一、MFC的六大关键技术包括: a)MFC程序的初始化过程: b)消息映射机制;

c)运行时类型识别(RTTI); d)动态创建; e)永久保存; f)消息传递;

六大关键技术的目的是为了提高开发效率,开发者只需要在局部做简单的修改,即可处理大部分窗口事物。

二、SendMessage和PostMessage函数的功能:

a)能够向指定的窗口内发送窗口消息,既可以是本进程内窗口也可以是其他进程的; b)既可以发送系统内部消息,消息编号的范围是:1-WM_USER-1; 例如:WM_LBUTTONDONW,WM_MOUSEMOVE等; c)也可以发送非系统消息(开发者定义的消息),范围是WM_USER-0x7FFF。

三、SendMessage和PostMessage两个函数的区别是:

a)SendMessage是阻塞型函数,PostMessage是非阻塞型函数:

SendMessage用于调用指定窗口的内部程序,直到窗口程序处理完成以后再返回: PostMessage是将一个消息寄送到一个窗口内的消息队列后就立即返回。b)两个函数的返回值不同:

LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM,lParam);BOOL PostMessage(HWND hWnd,UNIT Msg,WPARAM wParam,LPARAM,lParam);SendMessage的返回值依赖于消息处理函数

c)跨线程或者跨进程发送消息,推荐使用PostMessage函数。

一、更具主窗口类型,MFC软件工程可以分为以下几种构架模型:

1、SDI(Single Document Interface):单文档界面,一个主框架窗口下只能编辑一份文档。例如:记事本和画笔等。

2、MDI(Multiple Document Interface):多文档界面,一个主框架窗口下可以同时编辑多份文档。

例如:VC++6.0,Photoshop等软件。

3、基于对话框的软件模型:主窗口是通过资源管理器,在对话框模板内摆放控件编辑而成的。

多数用于开发小规模软件,例如:任务管理器。

4、其他自定义窗口做主窗口:主窗口既不是框架也不是对话框,而是直接开发通用窗口类CWind而成。

例如:输入法窗口、QQ和360软件等,有时这类软件都可以使用框架和对话框模式来代替开发而成。

对话框常用消息映射函数:

二、对话框初始化消息:

1、WM_CREATE:通用窗口初始化消息

窗口还未显示出来,只有父窗口,子窗口还没创建

2、WM_INITDIALOG:对话框窗口专用消息

子窗口已经全部创建完成,可以调用和操作子窗口

三、对话框关闭过程消息:

1、WM_SYSCOMMAND:管理所有系统菜单和系统按钮消息 包括通过最大化、最小化、移动、大小和关闭等

2、WM_CLOSE:是WM_SYSCOMMAND消息的一个专用关闭的分支 再次消息处理过程可以取消本次关闭任务

3、IDCANCEL按钮消息:不但用于按钮回调消息,也是系统按钮关闭窗口的回调 执行真正关闭对话框函数是EndDialog,在此消息处理过程可以取消本次关闭任务

4、WM_DESTROY:通用窗口销毁消息

窗口已经在屏幕中消失了,但是自身窗口和窗口内的控件都还可以调用 在此消息处理过程可以取消本次关闭任务

四、非模式对话框:

1、在调用EndDialog函数关闭时,非模式对话框只是隐藏没有真正关闭;

2、在调用DestroyWindow函数关闭时,只是隐藏没有真正关闭;

3、DestroyWindow函数是通用摧毁窗口的函数,适用于对话框、控件、框架和视图等。

一个MFC软件工程由至少一个CWind派生类和一个CWinApp派生类,因此这两个类是MFC工程中最重要的两个类。

一、CWind成员函数:主要就是一个核心成员变量m_hWnd。

1、DestroyWindow:摧毁窗口。

2、Create和CreateEx:创建窗口,CreateEx创建时可以指定扩展风格。

3、获取窗口句柄:

a)pWnd->m_hWnd:直接调用前最好判断一下指针是否为空。b)operator HWND():自动类型转换,将对象转换为句柄。

c)GetSafeHwnd():可以避免的a方法,因为指针为空造成软件崩溃。

4、由句柄转化为CWnd对象:

a)CWnd::FromHandle:生成一个临时性窗口类指针

b)Attach和Detach:为一个CWnd对象嫁接和移除窗口句柄; c)SubclassWindow和UnsubclassWindow:子类化和反子类化; d)SubclassDlgItem:子类化指定ID对应的控件窗口。

5、获取和设置窗口信息:

a)GetWindowText和SetWindowText:获取和设置窗口的标题文字。b)GetStyle和ModifyStyle:获取和设置窗口的基础风格。c)GetExStyle和ModifyStyleEx:获取和设置窗口的扩展风格。

6、计时器: a)SetTimer: b)KillTimer:

7、窗口操作: a)ShowWindow: b)EnableWindow: c)MoveWindow: d)CenterWindow:

二、CWinApp类成员变量:

三、CWinApp类成员函数:

//匈牙利命名法: //变量:

int long定义:int nSel;long nTel HANDLE hInst;CString szName,szPass;CString strAddr;LPCSTR pszName;DWORD dwID;//如果是成员变量,以“m_”开头 //如果是全局变量,以“g_”开头

下载编程学习心得和方法word格式文档
下载编程学习心得和方法.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    省人工智能和创意编程教学研讨会学习心得

    省人工智能和创意编程教学研讨会学习心得 博兴乐安实验学校刘凯月 11月28日到29日为期两天的人工智能和创意编程的教学研讨会学习活动结束了,我有幸参加了这次会议,活动内容十......

    多文件编程方法总结

    编写一个程序如下: #include void delay(unsigned char k) { } void main() { } /*此时程序较少看上去也不会觉得乱,但是如果程序很多就比较乱了。作如下多文件编程,看着......

    数控编程的方法[范文]

    数控编程的方法 在数控加工企业来说,编程直接影响着数控设备系统的进程,数控程序怎么样编程,在这方面还需要进一度加强人员培训。 1、 首先学习数控编程需要几个基本的条件: ①......

    刀具和编程总结

    ① 白钢刀(即高速钢刀具)因其通体银白色而得名,主要用于直壁加工。白钢刀价格便宜,但切削寿命短、吃刀量小、进给速度低、加工效率低,在数控加工中较少使用。 ② 飞刀(即镶嵌式刀......

    STM8库编程的方法总结

    经过几天的摸索我终于掌握用STM8库的方法,但我还认为不用库也很好, 1.首先要装好ST8的开发环境,一个是ST Visual Develop 一个是COSMIC stm8 C语言编译器.第三把STM8的库下......

    MASTERCAM9.1车床编程学习心得(大全5篇)

    MASTERCAM9.1数控车床编程的初步印象 很多的说法都是这款软件很容易学,看样子也差不多是这样的了,我从一个星期前弄到它,便想尽一切办法学习,当然是从最初的学,可是对于作......

    关于西门子S7-200 PID编程学习心得

    关于西门子S7-200 PID编程学习心得 1. 注意区分输入端接的是电压信号还是电流信号;输出端是电流信号还是电压信号。在模拟模块上不同信号下的接线方式。 2. 了解信号输入元件......

    研究方法学习心得

    2008—2009年第一学期我在西北师范大学外国语学院学习,期间非常荣幸地参加了姜秋霞教授讲授的《研究方法与论文写作》的学习,通过一学期的我讲一下自己对于论文写作的一点浅显......