C#总结

     这两天刚把c#视频看完了,给我的感觉是,编程语言很多地方是通用的,由于以前学过VB,所以在代码的理解上基本没有问题。C#无非也就是类、运算符、表达式、逻辑运算、数组等。但是因为VB是基于对象不是完全的面向对象(vb没有继承),所以和C#又有不小的区别,比如说静态方法、静态类、抽象类、覆写等,还有在运算符、逻辑运算符号使用方面也有细微的差别。我觉得看完这个视频给我最大的感觉的面向对象编程的灵活和强大,而面向对象也不是我以前想的那么简单。庆幸的是不管是软工、Uml还是C#都有涉及面向对象的讲解,只能说现在对面向对象有理论上的理解,要达到熟练应用的地步还有很长的路。

    我觉得在学习C#中,有几个比较难理解的概念。

1、静态类

    

    静态类不属于任何对象,它可以直接通过类名访问。

2、构造函数

   


     构造函数与类同名,一般为公有模式,可以为空。可以认为是一个类的特殊方法,每次创建类都需要调用该函数。

    构造函数的作用:可以统计实例化的次数、静态构造函数还可用于初始化静态数据。

3、方法重载

    

    方法重载:根据同一方法所带参数不同,可以设计多个相同的方法以适应。避免所带参数不同调用同一方法引起的错误。

4、继承与多态

    base、virtual、override关键字c#中不能多重继承,可以通过多重接口实现,使用base关键字可以调用基类中的构造函数。

    

    使用virtual关键字可以定义虚拟方法,定义的虚拟方法通过override关键字可以重写,使用new关键字可以覆盖继承成员的参数。

5、抽象类、接口


    抽象类是一种特殊的类,它不能实例化,不能继承,但可以派生,派生类可以使用override关键字重写方法。接口是更抽象的抽象类,定义了方法就必须使用,接口可以实现多接口实现,接口的默认模式为public。

6、运算符重载

    运算符重载:对实例进行加减操作。声明方法:Public vector operator +vector1vector2声明对+进行重载,比较特殊的重载是重载比较运算符,必须成对重载,比如说重载==,必须重载!=,一般取反即可。

7、错误和异常处理

    VB采用的异常处理是使用GOTO 语句,而C#使用的是try、catch和finally。try是错误可能出现的区域,和VB中的on error goto ##:类似,catch是获取错误的详细信息,finally是不管怎样,都要执行的操作,和vb中没有Exit sub的错误处理类似。需要注意的是获取的错误有尽可能有详细的说明,不能为了简单敷衍。

基本上C#一些常见的不容易理解的概念就这些,虽然看完了视频,但是还有写地方不是很清楚,比如说委托和事件,再进一步的理解后会加到这里面。



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值