分类:C#、VS2015

创建日期:2016-06-18

使用教材:(十二五国家级规划教材)《C#程序设计及应用教程》(第3版)

一、使用别人已经设计好的类简化你的代码编写工作量

当让你去处理一堆乱七八糟的事情时,要把它弄的有条理,首先需要“先把它分成几大部分”(划分为不同的“命名空间”或者“包”),然后再把每一部分进行“分类”(每个命名空间下可能有多个类),最后再一件一件地去完成(实现各个类的功能)。

可是,你如何用代码去描述这些“分类”呢?总得先区分出来你是不是在描述分类吧,这就是class关键字的用途。当然,你还得给每个分类起个专门的名字,否则你仍然区分不出来描述的是哪一类的东西。

分类后,就可以通过代码去描述类中需要实现的功能了。

总体来说,面向对象程序设计的基本处理方式就是:对于有先后关联的在一个类中就能完成的业务,就在指定的类中按顺序一件一件地通过代码实现(结构化程序设计)。对于没有先后关联的业务,就安排多个人(多个类中的多个方法)同时去做(多线程、多进程)。

谁安排?是你。谁负责去执行你安排的任务?是操作系统。

二、会观察.NET框架包含哪些命名空间

.NET框架已经帮你定义了上万个类来帮助你简化代码编写工作量,这些类在安装VS2015时已经全部安装到了你的机器上并将其分配到了不同的dll文件中,在每个dll文件中,又将所包含的类分配到了不同的命名空间下,你所做的大部分事情就是利用using指令引用你知道的命名空间(至于在哪个dll文件中你不用去考虑,.NET框架会自动帮你做这件事)。所以,你得先了解.NET框架下有哪些命名空间。

添加对命名空间的引用后,你就可以直接使用命名空间下包含的这些类实现你要处理的业务逻辑了。

了解.NET框架下有哪些命名空间的办法如下:

(1)运行VS2015,新建项目,选择一个模板,比如选择控制台应用程序。

(2)选择主菜单的【视图】->【对象浏览器】,此时你就会看到控制台应用程序中你可以直接引用的命名空间。

例如,展开mscorlib下的System命名空间,你就会看到Console类,单击它,就会看到该类中包含的各种方法,单击某个方法,你就会看到它的解释。如下图所示:

一定要学会用这种办法找到你需要的东西,看到了吗?教材中告诉你的仅仅是其中最常用的几个类和方法,实际项目中用到的可远远不止这些。只有这样,你才能真正做到举一反三,而不是别人教一个你会一个。

三、学习开源架构开阔你的思路

除了.NET框架内置的类以外,网上还有相当多的开源架构(里面也包含很多类)设计的都很漂亮,分析这些架构的源代码,学习这些架构的基本设计思路,逐步开阔你的视野,然后把它变成你自己的思想才是正道,而不是直接把人家的源程序拿来用于项目。原因很简单,不论是哪个公司,开源的东西都是经过开发者精心“过滤”的,而被过滤掉的恰恰是项目中最关键的部分--“性能”和高级功能。换句话说,人家只是想通过开源的代码告诉你基本实现思路,说到底也只是“请君入瓮”的一种营销策略而已,如果所有核心代码都给你开源了,那人家的公司岂不是早就被那些只会盗取别人成果的无良公司吃掉了,呵呵。

IBM、微软、HP、苹果、谷歌、……,所有公司都是这么干的,既有开源的东西(不要钱,但是功能和性能都有限制),同时也有不开源的东西(要钱,所有功能都有,性能也没有限制)。所以,别为了吹捧自己的观点就只强调哪家公司的某一个方面,为了攻击别人的观点就只强调哪家公司的另一个方面,见到网上整天争来争去哪个好那个不好,说到底不还都是在讨论人家美国公司给你的东西吗。

不管怎样折腾,直接把人家开源的源程序拿来用于项目成果,充其量也只是一个跟屁虫,区别仅仅是跟的是谁的屁股。

记住:“开源”也好,“免费”也好,都是别人给你尝尝味道的糖,是供你学习用的,别天真的把它拿来当饭吃。或者说,学习期间,都了解了解,这样在实际用到时你才能知道目标在哪。只知其一,不知其二,你自己说的再天花乱坠,别人也不会认同你的看法。

四、本章学习要点

1、学会自己定义类(class)

2、学会自己定义结构(struct)

3、掌握属性的基本用法

4、掌握方法的基本用法

5、理解事件的基本概念和基本用法

6、理解类的封装、继承、多态性

7、理解如何将图形作为对象(高级内容)

8、掌握日期和时间处理的基本用法

9、掌握随机数的基本用法

10、掌握定时器的基本用法

11、掌握基本数学运算的基本用法

五、本章示例截图

本章源程序(VS2015版)的示例截图如下:

补充例子中的部分运行截图如下(帮助你理解如何利用继承实现复杂功能):

【C#】第3章学习要点(一)--整体把握的更多相关文章

  1. 【C#】1.1 第1章学习要点

    分类:C#.VS2015 创建日期:2016-06-14 教材:十二五国家级规划教材<C#程序设计及应用教程>(第3版) 一.配套源程序(VS2015版)的运行截图 VS2015版的配套源 ...

  2. 【C#】第3章学习要点(二)自定义类和结构

    分类:C#.VS2015 创建日期:2016-06-19 使用教材:(十二五国家级规划教材)<C#程序设计及应用教程>(第3版) 一.要点概述 别人提供的类都是为了简化你的工作量用的,可是 ...

  3. 【C#】第2章学习要点

    分类:C#.VS2015 创建日期:2016-06-15 教材:(十二五国家级规划教材)<C#程序设计及应用教程>(第3版) 一.本章要点 C#数据类型分两大类:值类型.引用类型. 值类型 ...

  4. 【C#】第3章学习要点(三)--常用类和结构的用法

    分类:C#.VS2015 创建日期:2016-06-19 使用教材:(十二五国家级规划教材)<C#程序设计及应用教程>(第3版) 一.DateTime结构和TimeSpan结构 DateT ...

  5. 20172327 2018-2019-1 《第一行代码Android》第一章学习总结

    学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...

  6. 《Linux内核设计与实现》第一、二章学习笔记

    <Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡  学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态 ...

  7. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

  8. apue第七章学习总结

    apue第七章学习总结 1.main函数 程序是如何执行有关的c程序的? C程序总是从main函数开始执行.main函数的原型是 int main(int argc,char *argv[]); 其中 ...

  9. apue第六章学习总结

    apue第六章学习总结 1.关于阴影文件与口令 在口令文件当中,常见的字段有(以root为例): root(用户名):x(加密口令):0(uid):0(gid):root(注释字段):/root(用户 ...

随机推荐

  1. 关于JavaScript内存泄漏的质疑

    近几天看了些关于JavaScript内存管理的文章,相对于Java JVM的内存管理,显得简单些. 在学习的过程中,发现有不少网友谈到了循环引用,说循环引用会造成内存泄漏,垃圾回收器无法回收. 实际上 ...

  2. 将不确定变为确定~transactionscope何时提升为分布式事务?(sql2005数据库解决提升到MSDTC的办法)

    回到目录 对于transactionscope不了解的同学,可以看我的相关文章 第二十六回   将不确定变为确定~transactionscope何时提升为分布式事务? 第二十七回   将不确定变为确 ...

  3. Java程序员的日常 —— 注册工厂的妙用

    注册工厂是一种很常用的框架书写方法,它适合于快速创建相同类型的对象. 举个栗子 比如一个家具工厂,有沙发.椅子.茶几等等,正常的编程模式是这样的: //创建 class 沙发{} class 椅子{} ...

  4. Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb  oql规范attilax总结

    Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb  oql规范attilax总结 Javaee6 与net 异常规范1 Jpa规范 JPA全称Java Persistence A ...

  5. Atitit main函数的ast分析  数组参数调用的ast astview解析

    Atitit main函数的ast分析  数组参数调用的ast astview解析 1.1. Xxcls.main(new String[]{"","bb"}) ...

  6. KendoUI系列:TabStrip

    <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css")" ...

  7. Open Cascade DataExchange DXF

    Open Cascade DataExchange DXF eryar@163.com 摘要Abstract:对DXF文本格式进行详细介绍,并介绍了如何使用开源库dxflib对DXF文件进行读写操作, ...

  8. 【原创】Newlife.XCode的常见功能使用(一)查询与数据初始化

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Newlife XCode组件相关文章目录:http://www ...

  9. 《BI那点儿事》Microsoft 神经网络算法

    Microsoft神经网络是迄今为止最强大.最复杂的算法.要想知道它有多复杂,请看SQL Server联机丛书对该算法的说明:“这个算法通过建立多层感知神经元网络,建立分类和回归挖掘模型.与Micro ...

  10. maven -- 学习笔记(一)之maven环境搭建

    首先先感谢博主的分享http://www.cnblogs.com/yjmyzz/p/3495762.html 基本概念: Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建 ...