C#学习笔记2
1.类(class)是现实世界事物的模型
上一节讲到类是程序的主体,现在对其进行解释:类是对现实是世界进行抽象所得到的结果。也就是说,使用一个类,里面包含一个或多个函数,对现实世界这一事件进行描述、实现,也就是建模。因为是面向对象,所以有这种描述。
2.窗口显示
引用
using System.Windows.Forms;
使用
(new Form()).ShowDialog();
3.类和对象的关系
- 对象也叫实例,是类经过“实例化”后得到的内存中的实体。比如说“一架飞机”这就是一个实例,在程序中对“一架飞机”实例化,就是使用对应的语句在内存开辟一块空间,去描述“一架飞机”这一实例,也可以说成对象,他们是一个意思。
有些类不能实例化,比如“数学”,这是抽象概念,不能用具体的东西“搭建”它,就不适合去变成一个实例。(这是面向对象的语言) - 使用new操作符创建类的实例
new Form(); //创建类的实例Form()
- 两次new Form(); 相当于创建了两个实例,他们虽然名字相同但不是同一个
运行程序后,窗口无法显示出标题,因为他们不是一个实例(new Form()).Text = “My Form”;
(new Form()).ShowDialog();
4.引用变量与实例的关系
-
孩子与气球,孩子相当于引用变量,气球相当于实例
-
引用变量,通过引用变量之后可以多次访问这个实例。只实例化,就不能多次访问
Form myForm; //声明一个引用变量——孩子
myForm = new Form(); //将实例赋值给引用变量——将气球给孩子
myForm.Text = “My Form”;//引用实例后,便可多次访问
myForm.ShowDialog(); -
两个引用变量引用同一个实例1
输出的窗口名字为"My Form"Form myForm1;
Form myForm2;
myForm1 = new Form();
myForm2 = myForm1;
myForm1.Text = “My Form”;
myForm2.ShowDialog(); -
两个引用变量引用同一个实例2
输出的窗口名字为"I changed it!"Form myForm1;
Form myForm2;
myForm1 = new Form();
myForm2 = myForm1;
myForm1.Text = “My Form”;
myForm2.Text = “I changed it!”;
myForm1.ShowDialog();
5.类的三大成员(后面会详细体会)
- 属性(Property)
存储数据,组合起来表示类或对象当前的状态 - 方法(Method)
由C语言中的函数(function)进化而来,表示类或对象”能做什么”;
工作中90%的时间是在与方法打交道,因为它是“真正做事”、“构成逻辑”的成员。 - 事件(Event)
类或对象通知其它类或对象的机制,为C#所特有(Java通过其它办法实现这个机制);
善用事件机制非常重要。 - 某些特殊类或对象在成员方面侧重点不同
模型类或对象重在属性,如Entity Framework;
工具类或对象重在方法,如Math,Console·;
通知类或对象重在事件,如各种Timer。
6.静态成员与实例成员(后面详细体会)
- 静态(Static)成员在语义上表示它是“类的成员”
- 实例(非静态)成员在语义上表示它是“对象的成员”
- **绑定(Binding)**指的是编译器把一个成员与类或对象关联起来
参考链接:link