随机数
Random r=new Random();
如果需要随机数,使Next方法,int res=r.Next(3,5);
1、没有参数的(Int32 无符号整型)
2、带有一个参数(int Next(int num))表示产生0~num-1这个范围的所有随机数(两边可以取得到);
3、带两个参数的重载:int Next (int num1,int num2)在num1~num2-1中间的随机数,两边可以取到。。
其参数是一个左闭右开的区间(整数范围)
注意事项:随机数不要卸载循环中
枚举
enum 枚举名
{
可能取到的值1, 0
可能取到的值2, 1
可能取到的值3 2
}
结构
struct 结构
{
除了静态与常量(const)不允许为字段赋初值
public static int Num=10;
}
//构造函数
//默认的无参构造函数会自动提供
//结构的构造方法必须为每一个字段赋初值当运行时需要使用面向对象的特征的时候,使用类,否也可以使用结构
// 当数据类型字段较多的时候,多用类,少用结构 */
继承、封装

描述一个对象,从字段和方法两个方面进行讨论。
常常讨论的属性,实际上就是一个访问字段的途径(本质是方法)
访问字段,实际上就是为其赋值,或读取其中的数据
属性分为:只读属性、只写属性、可读可写属性。
属性不具备存储数据的能力,只能通过其访问数据,--属性的本质就是方法。
自动属性:当使用自动属性的时候,系统会自动生成一个后台的字段,用来存储数据。都是成对出现的。
1、构造函数是干什么用的?
就是为字段赋初值(初始化) 没有初始化的字段,数字类型为0 字符类型为\0 空 bool false string null
2‘继承中实例化子类的对象,会调用父类构造方法吗?
默认情况下,都是调用父类的无参构造方法。
继承是用于编写代码,方便程序员组织代码完成编程的一个方式,代码执行在计算机中永远都是机器码、、*我们所说的继承只是从编码的逻辑入手,所有的非私有成员都被继承下来了,处理构造方法与私有成员没有被继承,其他的都继承下来了,在内存中,即使私有字段,子类对象中依旧存在对应的数据(内存级别)
3、如果父类的构造方法有重载呢?
方法的重载[方法的原型]。名字和参数--
1、去掉所有的方法名前的东西
2、去掉括号中所有的参数名与花括号
3、比较,不重合的构成重载。
继承的时候--表示该成员类的字段。方法。属性等的作用时,this、base是同一个含义、、this与base只是为了方便程序员编程。
一.窗体--就是一个类(对象):
新建窗体--新建一个窗体就是创建了一个类(窗体类)继承自Form 这个类会自动的设定一些初始值
脱控件--窗体上的按钮、文本框等控件就是窗体与窗体之间的不同点(字段),每拖入一个控件就会有一个字段(就有一系列的属性)
SHIFT+alt+f10(ctrl+.)添加所需的using
写事件(方法)。
里氏转换原则:
1、子类直接赋值给父类(子类可以直接转化成父类)
2、指向子类的父类,可以强制转化为对应的子类。
3、is运算符,用来判断父类对象可否转化为子类对象。
语法《对象 is类型名》如果可以转换,就返回TRUE,否则返回FSLSE。
继承的特性:单根性(只有一个父类,可以继承自多个接口) 派生于object跟类 传递性
****************
多态:::隐藏基类的方法:当子类与父类有相同方法(非重载),此时创建子类对象,成为子类隐藏了父类的方法。
&&&&*用的最多的*重写基类的方法:第一件事情,父类的方法只是为了提供一个”接口“(一个协议,目的是为了子类去实现)。在父类的方法前加上一个virtual,表示该方法会被子类所重写(替代);第二件事情,在子类方法前加上override,表示重写了父类方法(替代)---这样就可以直接将子类赋值给父类对象,由父类统一调用(方法相同) 由于真正的指向对象不同,那么可以实现统一调用,不同实现。
理解——————:第一为什么是object类型?:考虑处理任何类型//代表什么?:表示触发该事件的对象。//有什么用?:
有关new与override(*) new则隐藏,OVER重写
隐藏看类型,重写只管新。

posted on 2012-07-12 23:39  Fan帥帥  阅读(115)  评论(0)    收藏  举报