学完了类的多态后这几天主要学习了字符串,数组,string,list泛型的用法。
因为抽象类和接口都可以达到多态的目的,所以有人分不清,蒋坤老师专门讲了这个两个方法的区别,
做了一个抢滩登陆以及游戏中技能继承的两个例子,对这两种方法的区别有了深的理解。有一点是接口可以继承。
逻辑上,注重功能的时候使用接口,注重对象的时候使用抽象类
因为数组在定义时必须声明长度,所以在实际运用中并不常用,重点学习了list集合的一些成员方法
抽象类可以有构造方法,其作用是为非抽象成员进行初始化,而不是作为创建抽象类的实例而使用
抽象构造方法不能被外界调用,但是也不能设定为private,因为其派生类会默认条用无参构造方法
显示实现接口不允许有访问修饰符,因为显示实现接口只能由接口对象来调用
对于接口,从定义就可以发现是对方法的抽象,也可描述成对能力的抽象。而抽象类是以事物的抽象。而抽象类是对以事物的抽象,与具体的对象有关。
如果想把一个dll放在一个文件夹下,一个单独的拷贝就能被系统中其他程序集共享,叫做全局程序集缓存(GAC)
1,只有强命名程序集能被添加到GAC
2,GAC位置在名称为assembly的子目录下,在window系统目录中
程序集的标识符
1.文件名 2版本号 3 文化信息(代表一种语言,比如英语是en-Us) 4 公钥
结构是隐式密封的,这意味着他们不能被派生
如果有多个参数,params参数必须放在最后
new string(char c,int count); 意思该字符串把c重复count次
字符串的构造方法
string <name>=new string(new char[]{})
字符串是不可变的,在内存中字符串一旦生产,将不会改变
即使之前使用的str1+str2也只是生成了另一个字符串
如何修改字符串呢?
<strname>.tochararray();
该方法会将字符串变成一个char类型的数组
例:修改一个字符串里的内容
char [] ch=<strname>.tochararray();
处理字符数组,完成修改
<strname>=new string(ch)
字符串可以用索引访问
字符串原本就是排在一起的字符,c#提供了用“下标”来访问字符串中的字符
string<strName>.trim()移除收尾的空格
如果要移除指定的内容,可添加一个char数组做参数
string <strname>.trim(char[].ch)
字符串比较
1.int string.compare(string str1,string str2)
str1>str2时,返回1
字符串的合并
string join(str,strarr)
将数组strarr中的内容拼接成也给字符串,并且在对应的每两项之间添加分隔符
bool<strname>.contains(string str)
表示字符串中是否包含str,如果包含返回true
int <strname> indexOf(string str)
从头开始,出现第一次str的下标
判断字符<strname>是否以某字符串开始或结束
bool <strname>.startswith(string str)
因为抽象类和接口都可以达到多态的目的,所以有人分不清,蒋坤老师专门讲了这个两个方法的区别,
做了一个抢滩登陆以及游戏中技能继承的两个例子,对这两种方法的区别有了深的理解。有一点是接口可以继承。
逻辑上,注重功能的时候使用接口,注重对象的时候使用抽象类
因为数组在定义时必须声明长度,所以在实际运用中并不常用,重点学习了list集合的一些成员方法
抽象类可以有构造方法,其作用是为非抽象成员进行初始化,而不是作为创建抽象类的实例而使用
抽象构造方法不能被外界调用,但是也不能设定为private,因为其派生类会默认条用无参构造方法
显示实现接口不允许有访问修饰符,因为显示实现接口只能由接口对象来调用
对于接口,从定义就可以发现是对方法的抽象,也可描述成对能力的抽象。而抽象类是以事物的抽象。而抽象类是对以事物的抽象,与具体的对象有关。
如果想把一个dll放在一个文件夹下,一个单独的拷贝就能被系统中其他程序集共享,叫做全局程序集缓存(GAC)
1,只有强命名程序集能被添加到GAC
2,GAC位置在名称为assembly的子目录下,在window系统目录中
程序集的标识符
1.文件名 2版本号 3 文化信息(代表一种语言,比如英语是en-Us) 4 公钥
结构是隐式密封的,这意味着他们不能被派生
如果有多个参数,params参数必须放在最后
new string(char c,int count); 意思该字符串把c重复count次
字符串的构造方法
string <name>=new string(new char[]{})
字符串是不可变的,在内存中字符串一旦生产,将不会改变
即使之前使用的str1+str2也只是生成了另一个字符串
如何修改字符串呢?
<strname>.tochararray();
该方法会将字符串变成一个char类型的数组
例:修改一个字符串里的内容
char [] ch=<strname>.tochararray();
处理字符数组,完成修改
<strname>=new string(ch)
字符串可以用索引访问
字符串原本就是排在一起的字符,c#提供了用“下标”来访问字符串中的字符
string<strName>.trim()移除收尾的空格
如果要移除指定的内容,可添加一个char数组做参数
string <strname>.trim(char[].ch)
字符串比较
1.int string.compare(string str1,string str2)
str1>str2时,返回1
字符串的合并
string join(str,strarr)
将数组strarr中的内容拼接成也给字符串,并且在对应的每两项之间添加分隔符
bool<strname>.contains(string str)
表示字符串中是否包含str,如果包含返回true
int <strname> indexOf(string str)
从头开始,出现第一次str的下标
判断字符<strname>是否以某字符串开始或结束
bool <strname>.startswith(string str)