本文共 3533 字,大约阅读时间需要 11 分钟。
期末阶段到来了,一方面要准备着专业课的考试,一方面计算机的进度也不能停下来。在寒假到来之前,机房重构是不打算开始了,到时候做着做着又得停下来,感觉不太好。所以,趁这段时间,找了基本C#、.NET的书看看,把一些基础的东西再巩固巩固。 这一篇主题为“C#之核心语言”。一共包含三编的内容,分别为C#编程介绍、类型和继承。 在这本书中,知识点结构不是很清晰,但是知识点讲解得很详细,对我们来说,还是比较容易理解的。
在上面的图中,可能第三级分支大家都很熟悉,而对于第二级分支就感觉陌生不少。 以前也没有这样归类过,比如说类、接口这些都没有想过它们其实都是属于引用类型(由类型的实际值引用(类似于指针)表示的数据类型),而数据类型、结构则是属于值类型(一种由类型的实际值表示的数据类型)。 大体清楚后,就是细枝末节部分的总结。下面的导图就是主要知识点。
其实这部分内容之前也是频频接触,但始终没有专门总结,有疑惑的地方也只是挂着。这一次的学习,加上书上代码的演示,有些东西清楚了不少。比如说成员的可访问性,自己的世界里好像只有public和private。
构造函数与析构函数的应用:
public class starter { public static void Main() { XClass obj = new XClass(); } } public class ZClass { public ZClass(int param) { Console.WriteLine("ZClass constructor"); } } public class YClass : ZClass { public YClass(int param) : base(YClass.MethodA()) { Console.WriteLine("YClass consturctor"); } public static int MethodA() { Console.WriteLine("YClass constructor initializer"); return 0; } } public class XClass : YClass { public XClass():base(XClass.MethodA()) { Console.WriteLine("XClass consturctor"); } public static new int MethodA() { Console.WriteLine("XClass constructor initializer"); return 0; } }
public class Strater { public static void Main() { XClass obj = new XClass(); } } public class ZClass { ~ZClass() { Console.WriteLine("ZClass destructor"); } } public class YClass : ZClass { ~YClass() { Console.WriteLine("YClass desturctor"); } } public class XClass : YClass { ~XClass() { Console.WriteLine("XClass desturctor"); } }
【抽象类】与【接口】 抽象类就是概念。abstract关键字使得一个类抽象化。抽象类的存在为继承提供了广阔的空间,不能为一个抽象类创建一个实例。 一个接口是一个协定,定义了从基类概括出来的必不可少的行为。一个接口要求制定一个行为集合,但是并不实现它。派生类型可以以一个恰当的方式自由地实现接口。接口必须被继承,不能为一个接口创建一个实例。知道了两者的概念后,就会觉得两者有相似之处,下面就是对两者进行的一个简单的比较:相同: 一个接口类类似于一个抽象类。两者都要被继承,都不能被实例化。 抽象类的成员要求在派生类型中加以实现,接口的成员也要求在派生类型中加以实现。不同点: 抽象类可以包含一些实现,而接口不能有实现。 抽象类可以继承其他类和接口,而接口只能继承其他接口。 抽象类可以包含字段,而接口没有状态。 抽象类具有构造函数和析构函数,而接口没有。 接口可以被结构继承,而抽象类不能。 接口可以支持多继承,而抽象类只能支持单继承。 一直觉得,接口的概念很难理解,最后,就用生活中的实例再来说说接口的应用:车的行为包括点火、熄火、加速和减速等。而车又有很多类型,如小汽车、摩托车和公交车等等。它们都拥有车的上述行为,我们就可以用一个接口来封装好这些行为。因为不同的车对这些行为的实现结果是不一样的。如:小汽车和摩托车的加速是不一样的。定义好了这样一个接口,就可以让不同的车自己去实现自身的一个和其它车不一样的行为。总结: 这一编的学习内容很基础,在之前的学习中也接触过。但总是感觉有些概念理解得很模糊,借这段复习时间,偶尔抽个时间看本书温习整理整理,感觉效果还是不错的。加上这一次也有了概念之间的对比和实例结果支撑,理解得也更加深刻了些。