C#学习笔记

把一下基类实例函数声明为virtual,该函数就可以在任何派生类中重写,派生类用override关键字,成员字段和静态函数不能声明为virtual,其原因是虚成员必须有一个签名,必须与特定的对象相关,满足这两个要求的成员只有实例函数.

方法的隐藏:如果派生类声音一方法,不知基类是否有同名(可能以后升级添加)方法,为保障程序的正确性,C#采用new关键字声明我们要隐藏一个方法.

抽象类和抽象函数:将类和函数声明为abstract,抽象类不能实例化,而抽象函数没有执行代码,必须在非抽象的派生类中重写.

C#允许把类和方法声明为sealed,对于类来说,这表示不能继承该类,对于方法而言,这表示不能重写该方法.

访问修饰符: C#不允许给get和set访问器设置不同的访问修饰符,如果有一个属性需要读取的公共访问权限,但要限制对派生类的写入访问,此时欠希望使用不同的访问修饰符.

接口:接口在语法上同申明抽象类完全相同,但不允许提供接口中任何成员的执行方式,接口中唯一可以包含的方法、属性、索引器和事件声明。不能实例化、不能有构造函数、不允许运算符重载、不允许声明成员的修饰符,接口成员都是公共的,不能声音为虚拟或静态。

Close()和Disose()之间的区别大体上是一个约定。Close()主要用于指定资源以后会再次打开,而Dispose()是一种最终处理,调节器用后意味着客户机代码最终科会删除这个对像,可以执行两个方法中的一个,但为了避免让其他开发要员感迷惑,应有执行这两个方法时,记住它们的定义。

委托定义的位置,可以在类中定义也可以在类外定义,甚至在命名空间下定义。委托的定义告诉编译器这种类型代表了哪种类型的方法,然后创建该委托实例。

DllImport 属性用于把方法标记为部地DLL中定义,而不是在任何装配件中定义。

在定义指针时,C++是符号同变量一起,而在C#是符号与类型在一起。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值