面向对象相关知识点
1、命名空间
1、命名空间基本概念
概念
命名空间是用来组织和重用代码的
作用
命名空间像工具包,类像声明在命名空间的工具
2、命名空间的使用
基本语法
namespace 命名空间名{
类
}
3、不同命名空间中相互调用
需要using引用命名空间或指明出处
4、不同命名空间中允许有同类名
要指明出处
5、命名空间可以包裹命名空间
MyGame.UI.Image img = new MyGame.UI.Image();
MyGame.Game.Image img2 = new MyGame.Game.Image();
namespace MyGame{
namespace UI{
class Image{
}}
namespace Game{
class Image{
}}
}
6、关于修饰类的访问修饰符
public 命名空间中的类,不写默认为public
internal 只能在该程序集中使用
2、万物之父中的方法
1、object中的静态方法
静态方法 Equals 判断对象是否相等
最终判断权,交给左侧对象的Equals方法
不论是值类型还是引用类型都会按照左侧对象Equals方法的规则来比较
Console.WriteLine(Object.Equals(1,1));
静态方法 ReferenceEquals
比较两个对象是否是相同引用,主要是用来比较引用类型的对象
值类型对象返回值始终是false
2、object中的成员方法
普通方法 GetType
获取对象运行时的类型Type
Type type = t.GetType();
普通方法 MemberwiseClone
获取对象的浅拷贝对象,就是返回一个新对象
但是新对象中的引用变量会和老对象中的一致
3、object中的虚方法
虚方法 Equals
比较两者是否为同一个引用,相当于ReferenceEquals
虚方法 GetHashCode
获取对象的哈希码
虚方法 ToString
返回当前对象代表的字符串
public override string ToString(){
return "自定义字符串"
}
3、String
每次重新赋值或拼接时会自动分配新的内存空间
1、字符串指定位置获取
字符串的本质时char数组
string str = "字符串";
Console.WriteLine(str[0]);
转换为char数组
char[] chars = str.ToCharArray();
Console.WriteLine(chars[1]);
for (int