首页 > 代码库 > 周五总结
周五总结
0 overload:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。
override:过载也称重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用new关键字来覆盖是有区别的。
new:覆盖指的是不同类中(基类或派生类)有两个或多个返回类型、方法名、参数都相同,但是方法体不同的方法。
但是这种覆盖是一种表面上的覆盖,所以也叫隐藏,被覆盖的父类方法是可以调用得到的。
1 学了枚举,枚举的应用。其中重要的一点是:通过枚举,可以用名字来表示数字。例子如下:
class Dog{
public enum TrickScore{
Sit = 7 ,
Beg = 3 ,
Comehere = 12 ,
}
int score = (int)TrickScore.Sit * 3 ;//这里Sit的索引为7 ,所以score = 21
}
2 学习了List,List有很多内置函数。如:.Add() 向List里增加元素;.Count 计算List有多少元素 ; .Contains(x) List里是否包含x这个元素,须注意这是个bool型值 ; .IndexOf(y) 确定List的元素y的索引 ; .Capacity 查看List能存放多少元素 ;.Remove() ; .RemoveAt(4) 是删除索引号为4个元素。
enum可以储存常量列表,而list可以储存任何对象。enum不能动态改变大小,也不能实现接口,不能有方法。数组优势是在于处理时占内存小,处理速度快。
3 foreach语句。其使用方式为: foreach (Shoe shoe in shoeCloset) . foreach 循环语句可以适用于List 和 数组.
4 泛型概念: 尽管list的一个特定实例只能存储一种类型,但是list适用于任何类型。
5 IComparable<T>接口 ,若使用该接口时,要用CompareTo()方法。
6 IComparer<T>接口,若使用该接口时,要用Compare()方法。IComparer<T>接口可以完成复杂的比较,不过使用前需要创建接口实例。
7 学习使用字典,C#中声明如下: Dictionary <Tkey , TValue> kv = new Dictionary <TKey , TValue> ;字典的使用方法和List很类似,须注意的是对Key和Value的使用。
8 学习了Console.WriteLine();函数的使用,该函数主要用于在窗口中输出,一般与 Console.ReadKey();一起使用。而 Console.ReadKey();函数主要是用来在输出窗体中显示。
9 学习了队列FIFO和栈LIFO,其使用和list相似。须注意是队列是first in,first out,而栈是first in ,last out .
10 这一个星期编程很多,特别是对接口,继承,多态(还没有遇到)的使用,感受到了C#面相对象编程的意义。编程首先是画类图,这方面由于编程水平不够,联系次数少而做不到。画完类图后就是创建类。然后对类进行编程。感受最深就是先在类里面编程(一个程序里有好多类),然后在各个类里面引用类里面的函数,最后是需要什么功能,就引用什么函数就行(这一点感受非常深)。一点非常重要:就是关于函数名的命名,好的函数名对理解函数非常重要。但是对构造函数,分装的使用我还不太熟悉。
周五总结