No.1__C#
这是第一篇C#的日记,到现在为止已经学习了一个礼拜的C#了。由于是实习中才开始学习,所以这次不准备像在大学学习那样,拿着课本划重点,背概念。这应当是一门实践的课程,应该一边编程,一边学。这是到公司第一个礼拜,没有分配电脑,只能手动写程序了。说说这礼拜的进度吧,首先熟悉了一下vs2010。这个软件真是体积庞大,可以说是包罗万象,在win环境下的事,基本都能做了吧。买了一本head first c#,书上内容比较轻松,图片也比较多,没有一上来就罗列概念,而是随着例子,边做边讲,用到什么就讲什么。事实上,这种方法还不错。比起一下子讲很多概念,这种用例子来诠释概念更为生动,更实际了,不仅知其然而且知其所以然。并且通过对一个例子的讲解,往往能起到对其他知识举一反三触类旁通的奇效。这本书可以说是做的了简单易懂,化繁就简。至于是不是深入浅出,就要等自己学的比较深入了才知道。总之,这本书的章节安排的小训练给了我很大的鼓舞,看到自己的程序能跑起来,心里还是满足的。
那么,来回顾一下一周所学吧。
星期一:第一章 快速开发可视化应用
这章上来就要做一个小应用,我也是吓坏了,不过跟着书本做下来,觉的还挺简单的。当然,只是依葫芦画瓢,照猫画虎。当时第一天做的时候完全就是跟着做,想不出别 的什么思路来。到了今天,我再回头看这个小程序,心里居然有很多想法,例如可以增加许多功能,这个设计有很多bug。事实上,这章最重要的应该是那张需求分析后的 程序结构图。即以图片的形式简要说明了软件的三个层次:可视化对象->数据库对象->数据储存。我想这就是人们常说的三层模型:GUI->业务逻辑->底层数据。
总结:这虽然是个最简单的win application,但是其模型可以说是麻雀虽小五脏俱全了。对于操作来说是没什么难度的,由一些简单的拖控件完成。但是学习的方向不应 当是拖控件,应当是各个层次之间的衔接。当然,具体控件如何实现也是重要的。今天下午把所有控件熟悉了一下。
成果:完成了书中的名片查看器+自己设计了一个账号密码储存器。
星期二:第二章 控件的背后
书上的标题写的非常好,你是一个程序员,不是一个IDE用户。IDE知识辅助完成工作,要完成工作还是要会编码。
这章开始阐述一些最基本常见的语法知识,变量、循环、运算、命名空间等等。可以说掌握这些最基本的语法知识,可以稍微看看简单的程序。基本可以看出个大概了。
事实上,每个控件也是代码,只不过是一些已经写好的代码,有IDE集成了,写好了让用户调用。右键空间就可以查看代码。在代码页面中,每个控件的代码都能看到,每 个属性的实现,每个方法,每个参数都看的一清二楚。这些就是幕后的故事了。
总结:这章可以说透过了应用,看到了内部的零件。整个程序是如何运作起来的,整个代码的结构,整个工程中的各个文件。到此为止,可以说,对软件的由外到内的一些 最基本的了解。对软件开发一个模糊的,大概的意识了。现在打开一个软件总是情不自禁的观察他的用户界面,看看它的功能模块。现在才开始了解一个大型软件的 开发是一件多么复杂的事情。无论多么复杂的程序都是由人们一行一行写出来,拼接在一起。在这一点上,人类已经有些类似于蚂蚁了。
成果:对于程序各个部分的了解+一些简单的调试(变量的变化)+双循环的背景色改变程序
星期三:第三章(上) 编程序的时候也可以谈恋爱->因为你可以面向对象
面向对象是一种编程思想,它是一种思想。相比较于C语言的面相过程,是一种编程的进步,当然两种模式不是对立的。面向过程是一种符合人思维模式的思想方法,因为人 总是习惯一步一步来,按照顺序,按图索骥,很有逻辑感,顺序感。面向对象是一种伟大的创新(谁想出来的?)从这几天做下来看,我这么理解,对象可以看做是一种特殊 的数据类型。在编写程序时除了要面对流程,过程,还要注意所面向的对象(又绕回来了。。)其实是数据的集合,哪些数据可以集合在一起方便管理操作。
总结:看似简单的两个字:对象。这种思想一讲也明白,但是又是千变万化,在实际应用中很可能不知道做一个什么对象。对象的设立也是很复杂,怎样设计才能形式简单, 功能实用。这个还是要随着不断学习和实践,不断加深理解。事实上,每次重新回顾一遍都会有许多新发现新理解。比如:对象==女朋友。带入到上边的描述毫无违和 感。
星期四:第三章(下)再进一步,对象,我们的方向!
因为感觉面向对象太重要了,于是多花了一天又看了一下。把类,对象,实例彻彻底底搞明白。。。
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用储存空间。
而从一个类创建一个新对象时称为创建一个该类的一个实例。
关于static关键字,首先,静态方法和非静态方法都可以改变,唯一的区别是静态方法不要求有实例,而非静态方法需要先有一个实例。
创建一个对象实例前可以使用它的非静态方法,如果要使用非静态方法,还是要创建一个实例。
今天的编写代码稍微多了一点,开始注意到了编码的形式,例如喜欢乱起变量名,结果搞得晕头转向的,变量代表什么意思都忘记了,不注意缩进和大括号,总是依靠下面的提 示一股脑打完,这非常不好,不能在一开始就有这种坏毛病。要规范的写,学习书本上的范例的格式来写。
成果:借钱还钱小玩具+代码风格
星期五:第四章 类型与引用
数字类型的转换--数据是程序的基本,那个著名的公式就不谈了。在各个语言中,无疑都对数据类型有着各式各样的要求。数据和数据类型的正确与否的影响实在太大了。
各种数据的应用范围,占用空间大小,哪些可以强制转换,细节决定了很多问题。
引用这个概念我理解了很久,还是有些模糊。
是因为周五么,整个人好像不太稳定,学习效率也有点差。才上了一个礼拜,就。。可能是想明天就是周六可以休息了,这。。。
话说上班也不容易,早上6:40就起来了,自己又磨蹭,到了7:15到车站,坐一个小时的车,8:30到公司。下午5:30下班,到家都得6:50。把饭吃一吃,洗洗弄弄就到了
7:30。稍微码码程序就又要睡觉了。
星期六:我了个大去,起来就快10点了,都不好意思吃想早饭这个概念了。
下午实践,晚上博客总结,一周就这么过去了。周日就把家打扫一下,收拾下。
本周务必要将第四章结束。一共十五章,一个月一定得啃完了。最晚也得在5.1前搞定,包括四个大的练习。
2015.5.28
No.1__C#的更多相关文章
随机推荐
- hdoj 5003
题意:给你一个数组a,降序排序后,求sum+=0.95^(i-1)*ai 这题wa了两发,因为我没看清题意,要排序! 精度上面通过a^(i-1)=e^((i-1)*log(a)) 提到精度,就要想到底 ...
- AD 10 原理图编译错误
在编译原理图时,经常会出现以下错误和警告,这里简单的累出一些错误和警告的原因: 1.floating net labels,这个是应为网标防止错误,应该将网标放在I/O或这连线的端点,或者是网标表错了 ...
- json体会
1.用json-lib的jar包,创建JsonObject的对象(其引用取名jo),JsonObject jo = new JsonObject(); 再创建一个jsonobject对象:JsonOb ...
- 数据库对象映射为java对象,不使用框架
方法: public static <T> List<T> processResultSetToList(ResultSet rs, Class<T> clazz) ...
- solr导入数据库数据-tinyint数据转boolean
solr在导入mysql数据库数据时,遇到一个问题:数据类型为tinyint的数据对应不到solr中的数据类型,因此就需要将tinyint转一下. 修改schema.xml文件,如下: 1.添加boo ...
- JQuery Jsonp 跨域
需求:两个不同域的网站想利用ajax交互数据 客户端:ajax的dataType参数设置成jsonp,然后设置一个回调函数(jsonCallBack) 服务器端:返回callfunName([{a:& ...
- php-数据库访问--增、删、改
建立一个登录页面 <form action="chuli.php" method="post"> <div>用户名:<input ...
- leetcode(144,94,145,102)中迭代版的二叉树的前、中、后、层级遍历
//前序遍历class Solution{ public: vector<int> preorderTraversal(TreeNode *root){ vector<int> ...
- PAT (Basic Level) Practise:1023. 组个最小数
[题目链接] 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是 ...
- TCP发送接口的返回值
原文链接: http://blog.csdn.net/ordeder/article/details/17240221 1. TCP发送接口:send() TCP发送数据的接口有send,write, ...