初识类与名称空间
一、如果我们写一个类,没有把这个类的名称空间是哪个标出来的时候,就从引用的名称空间里检索,看到哪个名称空间里有这个类;
1.Using把名称空间引用进来;
2.一个solution里可以有多个项目(Project);
3.名称空间就是以树形结构组织类;
4.我们编写了一个类“program”放在“namespace helloworld”这个名称空间里,意思是我自己写了一个类,当别人调用我们这个类的时候,可以从我们的名称空间里找到这个类。
namespacehelloworld
{classprogram
{static void main(string[] args)
{
System.console.writeline("hello , world!");
}
}
}
usingsystem;namespacehelloworld
{classprogram
{static void main(string[] args)
{/*System.console.writeline("hello , world!");*/console.writeline("hello , world!");
}
}
}
二、类库的引用
类与名称空间放在类库里,类库引用是使用名称空间的物理基础
对类库的引用有两种方式:1、DLL引用(黑盒引用,无源代码)NuGet简介 2、项目引用(白盒引用,有源代码)
1.黑盒引用可以在对象浏览器里看到有里面有哪些类,一般配合文档使用相应的类
类,对象,类成员简介
一、类与对象的关系
对象也叫实例,是类经过“实例化”后得到的内存中的实体
1.对象和实例是一回事
2.有些类是不能实例化的,比如“数学”,我们不能说一个“数学”
依照类,我们可以创建对象,这就是“实例化”
1.现实世界中常称“对象”,程序世界中常称“实例”
使用new操作符创建类的实例
引用变量与实例的关系
1.孩子与气球
2.气球不一定有孩子牵着
3.多个孩子可以使用各自的绳子牵着同一个气球,也可以都通过一根绳子牵着气球
Form/*一个类*/
newForm();/*一个Form类的实例就创建了;圆括号表示的意思当这个实例诞生后,用什么样的方法去对它进行初始化,叫做构造器*/(newForm()).showDialog();/*创建完了一个实例,然后调用它的方法*/(newForm()).showDialog();
(new Form()).Text = "My Form";/*这边是创建了两个实例,第一个实例是展示,第二个实例是有一个title*/Form myForm;
myForm= newForm();
myForm.Text= ''My Form'';
myForm.showDialog();/*引用变量连续的操作同一个实例,这里能显示title也能展示*/
Form myForm1;
Form myForm2;
myForm1 = new Form();
myForm2 = myForm1;
myForm1.Text = "My Form";
myForm2.ShowDialog();
/*多个孩子可以使用各自的绳子牵着同一个气球,这边的两个引用变量引用的是同一个实例*/
二、类的三大成员
属性
1.存储数据,组合起来表示类或对象当前的状态
方法
1.由C语言函数进化来,表示类或对象“能做什么”
事件
1.类或对象通知其他类或对象的机制,为C#所特有(Java通过其他办法实现这个机制)
2.善用事件机制非常重要
某些特殊类或对象在成员方面侧重点不同
1.模型类或对象重在属性,如Entity Framework
2.工具类或对象重在方法,如 Math , Console
3.通知类或对象重在事件,如各种Timer
三、静态成员与实例成员
静态成员在语义上表示它是“类的成员”
实例(非静态)成员在语义表示它是“对象的成员”
绑定指的是编译器如果把一个成员与类或对象关联起来
1.不可小觑的“ . ” 操作符------成员访问