感谢UP分享的学习资料https://www.bilibili.com/video/BV1wx411K7rb?p=4
CLASS
类(class)是现实世界事物的模型
类和对象
类是最基础的C#类型,类是一个数据结构,是构成程序的主体
名称空间(namespace)以树形结构组织类(和其它类型),类似于图书馆的图书架,一种类别的书架(名称空间)对应多本书 (类),多个书架可能有重名的书(类)。
类库的引用
类库引用是使用名称空间的物理基础
不同技术类型的项目会默认引用不同的类库
DLL引用(黑盒引用,无源代码)
NuGet简介
项目引用(白盒引用,有源码)
依赖关系
类(或对象)之间的耦合关系
优秀程序追求“高内聚,低耦合” --->程序结构趋于清晰
然而教学案例程序往往会违反这个法则
UML(通用建模语言)类图,
排除错误
编译器报错
类介绍
类(class)是现实世界事物的模型,是对现实世界事物进行抽象所得到的结果
事物包括“物质”(实体)与“运动”(逻辑)
建模十一个区伪存真、由表及里的过程
类与对象的关系
对象也叫实例,是类 经过“实例化”后得到的内存中的实体
依照类,我们可以创建对象,这就是“实例化”
使用new操作符可以创建类的实例
引用变量与实例的关系
public static void Main(string[] args) { /* //Form :表单 (new Form()).Text = "My Form"; //new + 类名(); 创建实例 (new Form()).ShowDialog(); //创建了另一个实例 */ Form myForm; //声明了一个引用变量 myForm = new Form(); // = :赋值 myForm.Text = "My Form"; myForm.ShowDialog(); }
如以上代码:myForm:小朋友(引用变量)
new Form:气球(实例)
myForm = new Form(); 将气球交给小朋友接管
一个小朋友牵着一个气球
public static void Main(string[] args) { Form myForm1; Form myForm2; myForm1 = new Form(); myForm2 = myForm1(); myForm1.Text = "My Form"; myForm2.Text = "I changed it!"; myForm1.ShowDialog();
这段代码用两个引用变量来引用同一个实例,变量2的实例是实例1(气球被小朋友1和小朋友2同时牵着)
类的三大成员
属性(Property)
存储数据,组合起来表示类或对象当前的状态。
方法(Method)
由函数进化而来,表示类或对象“能做什么”
它是“真正做事”、“构成逻辑”的成员
事件(event)
类或对象通知其他类或对象的机制,为C#所特有(Java通过其他办法实现这个机制)
善用事件机制非常重
使用MSDN文档
某些特殊类或对象在成员方面侧重点不同
类静态成员与实例成员
成员隶属于类
静态(Static)成员在语义上表示它是“类的成员”
实例(非静态)成员在语义上表示它是”对象的成员“
绑定(Binding)指的是编译器如果把一个成员与类或对象关联起来
不可小觑的“.”操作符——成员访问