有志者、事竟成,破釜沉舟,百百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴。

拂晓犬吠

学习中遇到困难是很正常的事情,不要苦恼,不要气馁,恰恰相反,应该兴奋,因为又学到知识了,需要不断提高自己应对问题和解决问题的能力和信心。

摘要: 在接口中定义方法不能添加任何访问修饰符,因为接口中的方法是默认为public,如果显式地指定了修饰符,则会出现编译时错误。 定义玩接口之后,如果有类想继承该接口,则它必须显示接口中定义的所有方法。 在接口中的所有成员都默认是公共的,因为不能再使用public、private和protected等访问 阅读全文
posted @ 2019-03-18 17:01 ID拂晓犬吠 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 众所周知,电脑有拍照和播放光碟的功能。 现在有一个TakingPhoto类,它提供了拍照的功能;还有一个PlayVCD类,它提供了播放光碟的功能。 电脑同时具有着两个类提供的功能,因此我们希望定义一个Computer类,继承TakingPhoto和PlayVCD。但此时遇到了麻烦,C#不允许多重继承 阅读全文
posted @ 2019-03-18 16:48 ID拂晓犬吠 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,子类需要覆写父类中的方法来实现子类特有的行为。 多态即相同类型的对象调用相同的方法却表现出不同行为的现象。 只有基类成员声明为virtual或abstract时,才能被派生类重写;而如果子类想改变virtual方 阅读全文
posted @ 2019-03-18 15:54 ID拂晓犬吠 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 使用了继承之后,当我们初始化一个子类时,除了会调用子类的构造函数外,同时也会调用基类的构造函数。 子类的初始化顺序如下: (1)初始化类的实例字段; (2)调用基类的构造函数; (3)调用子类的构造函数; 阅读全文
posted @ 2019-03-18 14:49 ID拂晓犬吠 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 封装:把客观事物封装成类,并将类内部的实现隐藏,以保证数据的完整性; 比如年龄赋值为负数,就是个例子。当我们把类的字段定义为公共类型时,外部对象可以直接对类内部的数据进行操作,此时无法对这些操作进行一些逻辑判断! 面向对象编程中的封装特性,是一种保护状态数据完整性的方法。 在面向对象编程中,应更多地 阅读全文
posted @ 2019-03-18 13:33 ID拂晓犬吠 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 类和结构体,对两者进行比较 语法上的区别在于,定义类要使用关键字class,而定义结构体则使用关键字struct; 结构体中不可对声明字段进行初始化,但类可以; 如果没有为类显式地定义构造函数,C#编译器会自动生成一个无参数的实例构造函数,我们称之为隐式构造函数;但在结构体中,无论你是否显式地定义了 阅读全文
posted @ 2019-03-18 12:16 ID拂晓犬吠 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 当一个类包含数组成员时,索引器的使用将大大地简化对类中数组成员的访问。 索引器的定义类似于属性,也具有get访问器和set访问器,以下是 [修饰符] 数据类型 this [索引类型index] { get{//返回类中数组某个元素} set{//对类中数组元素赋值} } 索引器是一种针对私有字段进行 阅读全文
posted @ 2019-03-18 10:24 ID拂晓犬吠 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 析构函数用于在类销毁之前释放类实例所使用的托管和非托管资源。 对于C#应用程序所创建的大多数对象,可以依靠.NET Framework的垃圾回收器(GC)来隐式地执行内存管理任务。 但是,若创建封装了非托管资源的对象,在应用程序使用完这些非托管资源之后,垃圾回收器将运行对象的机构函数来释放这些资源。 阅读全文
posted @ 2019-03-18 09:51 ID拂晓犬吠 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 如果没有为类显式地定义一个构造函数,则C#编译器会自动生成一个函数体为空的默认无参的实例构造函数。 构造函数主要用于创建类的实例对象。 当调用构造函数创建一个对象时,构造函数会为对象分配内存空间,并初始化类的成员。 构造函数分为实例构造函数和静态构造函数两种。 实例构造函数用于创建和初始化类的实例。 阅读全文
posted @ 2019-03-18 09:40 ID拂晓犬吠 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 方法是由方法签名和一系列语句的代码块组成。 其中方法签名包括方法的访问级别(比如public或private)、可修饰符(例如abstract关键字)、方法名称和参数。 C#也支持方法重载。方法重载指的是在类中可以定义多个名称相同但方法签名不同的方法。这里,“方法签名不同”指的是方法的参数顺序、参数 阅读全文
posted @ 2019-03-18 09:38 ID拂晓犬吠 阅读(331) 评论(0) 推荐(0) 编辑