初识C#

来源:互联网 发布:前端学到什么水平知乎 编辑:程序博客网 时间:2024/05/19 21:01

因为有了C++的基础,C#入门也就自然简单多了。其实所有的编程语言都是如出一辙的,从VB开始接触了面向过程的编程语言,并通过VB课本、百例、陈伟视频的学习逐步强化这一编程思想。当然VB是编程的入门,慢慢的从面向过程演进到逐步面向对象的编程思想。从中也体会到了编程过程的精简化。总结一下看楚广明老师讲的C#视频

【UML与C#】     

刚刚学完UML并完成了九种图,我就在想UML和C#的到底有什么联系,只是知道UML图可以转换为C#程序代码,其他的还有待发现,下面是我从网上搜的一些资料,算是再拓展一下吧。

 UML与C#

【为什么讲C#要从.NET谈起???】

(1)何为.NET?

 它是一种集合环境,可以作为平台支持下一代Internet的可编程结构(互联网提供的一种服务。)

(2)进一步了解.NET

 特点:软件就是服务;基于XML的语言;融合多设备和平台;新一代的人机交互。

 前身:Java语言的出现—平台的独立性、语言的可用性(但是Java不支持指针、运算符重载、完全面向对          象)

(3)二者关系

C#是一种语言;.NET是一个平台,上面支撑用C#或者VBdotNet写代码。另外,C#不但可以开发基于.NET的应用程序,也可以开发基于WinForm的程序,这就是区别。

 ...这是初期理解,当然后面还会有专门的.NET视频去深入学习和进一步理解。

【C#概述】

起源:C#是从C和C++语言的基础上发展起来的。但是与C、C++相比更简单、现代、面向对象、类型安全、兼容、灵活。

特性:功能强大,应用广泛;开发环境使用非常方便。

特色:实现了代码的托管。并且是更深层次上的完全面向对象。

辅助学习工具:VS2012(就跟VB6.0一样,只是编写的程序不一样了,使用的工具也就不同了)        

下面是从百科上搜的关于VS的一些信息(加深理解)

    它是一个最先进的开发解决方案,能使各种规模的团队设计和创建出使用户满意的应用程序。通过使用灵活敏捷的规划工具并根据自身进度实现增量开发技术和敏捷方法;使用高级建模、发现和体系结构工具描述系统并帮助确保体系结构构想。简言之,它可以创建创新的高质量解决方案并降低开发成本。

【C#详解】

1.先通过一张导图来看一下C#到底有什么。

2.对面向对象技术的再认识

三特征:

      继承:是建立一个类,然后创建它的更特殊的版本。(需要注意的是:C#支持接口的多重继                       承,但是不支持类的多重继承)

      多态:统一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

      封装:运用信息隐蔽技术,实现用户和设计者的分离。

类:现实世界的一切事物的抽象。

对象:类的实例化(注意:抽象类不能被实例化)

3.重要的函数

  构造函数:一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化。(可以说是类的一种特殊方法,每次创建类的实例都是对调用它。

  其框架为:

public class MyClass {   public MyClass()     {     }}
 4.重载(有待日后补充)

①函数重载

②运算符重载

③与覆写的区别:

     重载:类中定义的方法的不同版本
  特点:方法名必须一致、参数和返回值类型不同
  覆写:子类中为了满足自己的需要来重复定义某个方法的不同实现;通过使用ovemde关键字来实现。只有抽   象方法才能被覆写(方法名称、参数列表、返回值类型相同)
5.委托

初步学习,觉得有点难理解,先推荐师哥的一篇关于C#委托的博客:C#委托(delegate)与事件还有一篇网上的资料:C#中的委托和事件(写的很不错,值得进一步研究。)

下面是自己的理解:

委托是一个类,定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。但是它是一种特殊的数据类型,它所定义的变量能接收的数值只能是一个函数(可以接收函数的地址,类似于C++的指针)通过委托间接调用一个函数体。(例子后续补充)

6.异常处理

理解异常是一定会发生的。要站在异常一定可能发生的角度来编写异常处理程序,应对程序有可能发生的错误。并建立一个良好的异常处理策略。

②错误和异常处理。为了处理可能的错误情况,一般要把程序的相关部分为三种不同类型的代码块。(可能会发生的错误代码、错误处理、资源清理)


阶段学习小结:】通过学习这几集C#视频,自己也尝试着用VS2012编写简单的C#程序,从而对这个程序有了一定的了解,希望在下一阶段的学习中能深化对这一部分的学习和理解。





        


0 0