当前位置: 首页 > news >正文

四川省城乡与建设厅网站中国住房和城乡建设部网站首页

四川省城乡与建设厅网站,中国住房和城乡建设部网站首页,微信公众平台开发微网站,建设工程国检中心网站类类型是由字段数据#xff08;成员变量#xff09;和操作字段数据的成员#xff08;属性、方法、构造函数、事件等#xff09;所构成的自定义类型。其中字段数据表示类实例#xff08;对象#xff09;的状态。 在C#中#xff0c;类使用class关键字定义#xff0c;例如…  类类型是由字段数据成员变量和操作字段数据的成员属性、方法、构造函数、事件等所构成的自定义类型。其中字段数据表示类实例对象的状态。   在C#中类使用class关键字定义例如 public class Car{//Car的字段状态 private int _speed;private string _name;//Car操作字段的属性 public int Speed {set {this._speedvalue;}get{return this._speed;} }public string Name {set { this._namevalue;}get{return this._name;} }//显式定义默认构造函数 public Car(){}上海网站建设color: #008000;//自定义构造函数 public Car(string name,int speed) {this._namename;this._speedspeed; }//Car的功能方法 public void ShowState() {Console.WriteLine(Car {0} is going {1} MPH, this._name,this. _speed);}}   另类的字段很少被定义为公开的为了保护状态数据的完整性最好把字段数据定义为私有或者受保护的然后通过属性对外提供受控制的访问。   使用new关键字来分配对象   对象必须使用了new关键字来分配到内存如果不是用new而随后尝试使用类变量的话会收到一个编译错误。 public static void Main(string[] args){//错误忘记使用new Car c; c.NameBruce;}   正确的例子 public static void Main(string[] args) { //创建Car对象。 Car c//声明了指向尚未创建的Car对象的引用。 cnew Car(bruce wong,150);//通过new把有效的引用赋给对象这引用才会指向内存有效的对象。 c.ShowState(); Console.ReadKey(true); }   类构造函数   作用给对象的字段状态赋值它允许在创建对象时创建其状态。   构造函数是类特殊的方法在使用new关键字创建对象时被间接调用。   注意构造函数没有返回值即使是void它的名字总是和类的名字一样。   默认构造函数   C#提供一个默认的构造函数需要时你可以重新定义默认构造函数不接受任何参数。它把新的对象分配到内存和确保所有的字段都被设置为正确的默认值。当你对这些默认值不满意你可以重新定义默认构造函数。如 public Car(){this._nameMy Car;this._speed100;}   那么每次使用new Car()都会创建状态_nameMy Car _speed100的Car对象。   自定义构造函数   作用在创建对象时可以直接初始化对象的状态。 public Car(string name,int speed) {this._namename;this._speedspeed; }   注意一旦定义了自定义函数自带的默认构造函数就自动从类移除不能用默认构造函数创建对象了。如果希望使用默认构造函数创建类对象就必须显式定义默认构造函数。   this关键字的作用   一、提供对当前实例的访问。   可以解决传入参数的名字与类型字段名字相同时产生的作用域歧义。例如 class Car{private string name;public void SetName(string name) { this.namename;}}   表示把参数name的值赋给本对象实例的字段namethis表示本实例。   二、参数传递。使用this进行串联构造函数调用   使用一项名为构造函数链的技术来设计类。当类定义个了多个构造函数时这个设计模式就会很有用。   由于构造函数通常会检验传入的参数来强制各种业务规则所以在类的构造函数集合中经常会找到冗余的验证逻辑。 class Car{public int Speed{get;set;}public string Name{get;set;}public Car(){}public Car(int speed){if(speed150){speed150;}this.Speedspeed;}public Car(string name){this.Namename;}public Car(int speed,string name){if(speed150){speed150;}this.Speedspeed;this.Namename;}}   串联构造函数方案让一个接受最多参数个数的构造函数做“主构造函数”并实现必须的验证逻辑。其余的构造函数使用this关键字把参数转给主构造函数并提供其他必需的参数。这样我们只关心主构造函数的逻辑而其他构造函数体基本是空的了。 class Car{public int Speed{get;set;}public string Name{get;set;}public Car(){}public Car(int speed):this(speed,){}public Car(string name):this(0,name){}// 主构造函数 public Car(int speed,string name) {if(speed150) {speed150;}this.Speedspeed;this.Namename; }}   使用this关键字串联构造函数方式可以简化编程任务类定义更加容易维护、更更加简明。但它不是强制使用的。   串联构造函数的执行顺序   1、调用构造函数把调用者提供的参数值转发给主构造函数并提供其他必须的初始化参数值。   2、执行主构造函数。   3、执行调用构造函数体的逻辑。   三、自定义索引器 class CarCollection:IEnumerable{private ArrayList arCarnew ArrayList();public Car this[int index] {get{ return上海企业网站设计与制作color: #000000; (Car)arCar[index];}set{arCar.Insert(index,value);} }//...}   static关键字   C#类或者结构可以使用static关键字来定义许多静态成员。这些静态成员只能从类级别而不能从对象级别上调用调用静态成员时不需要创建实例对象。   例如 //错误WriteLine是静态成员是类级别的方法。Console cnew Console();c.WriteLine(Bruce Wong);//正确WriteLine是类级别的方法Console.WriteLine(Bruce Wong);   注意   一、静态成员只能操作静态数据或调用类的静态成员。而非静态成员可以操作实例数据与静态数据成员因为静态成员对类的所有实例都是可用的。   二、CLR把静态数据分配到内存只进行一次改变静态数据将影响此类的所有实例。   定义静态构造函数     构造函数用于在创建类对象时设置类对象的数据值。如果使用实例级别的构造函数给静态数据赋值你会惊奇的发现每次新建类对象时静态数据的只都会被重置。所以我们要初始化静态数据最好使用静态构造函数。     静态构造函数是特殊的构造函数它非常适用于初始化在编译时未知的静态数据的值   一、一个类结构只能定义一个静态构造函数。   二、静态构造函数不允许访问修饰符并且不能接受任何参数。   三、无论创建多少个类实例静态函数知执行一次。   四、CLR创建类实例或首次调用类静态成员前CLR会调用静态构造函数。   五、静态构造函数先于实例级别的其他构造函数执行。   静态类一个类被定义为静态的使用static关键字修饰就不能使用new关键字来创建类实例静态类只能包含用static标记的静态类成员或字段。   PS:项目的应用程序对象如定义Main()方法的类通常定义为静态类以此来确保只包含静态成员且不能被直接创建。如 static class Program{ static void Main(string[] args) {//... }} 转载于:https://www.cnblogs.com/waw/archive/2011/10/13/2210665.html
http://www.sadfv.cn/news/319604/

相关文章:

  • 网站建设上海网站建设邱杰wordpress
  • 上传的网站怎么打开使用iframe做网站
  • 九江做网站的公司哪里好深圳网站建设公司哪家
  • 作图网站都有哪些最好的网站建设用途
  • 产品外观造型设计优化网络推广外包
  • 宁海县城镇建设局网站wordpress主题 医疗
  • 网站pv uv是什么意思福建省建设工程造价站官方网站
  • 上网站 ftp国内有奖活动第一分享平台
  • 如何在网站建设远程教育门户网站建设信息化项目背景
  • 深圳全网营销推广平台宁波seo深度优化平台有哪些
  • 中国国家住房和城乡建设部网站首页ui网页界面设计素材
  • 高端网站建设开发微信网站 教程
  • 网站规划设计的一般流程注册网站能赚钱吗
  • 网站平台建设哪家公司好百度 网站改版了
  • 做视频怎样传到网站专业建设网站服务公司
  • 如何宣传网站平面设计培训素材
  • 苏州企业网站关键词优化机械加工小作坊如何接单
  • 可在哪些网站做链接php网站开发技术论文
  • 做游戏能赚钱的网站wordpress数据表前缀
  • 深圳十大网站建设网站设计制作哪个公司的好
  • 县级部门和乡镇不能建网站建设建筑工程网络计划图绘制软件
  • 聊天室网站模板i深圳网站建设
  • 南京建设行政主管部门网站民政局网站建设工作总结
  • 在线教育网站开发实例建设银行南通城区网站
  • 怎么看 网站开发语言网站建设要学多少课程
  • 做企业培训的网站公司简介网页
  • wordpress能做企业站吗六安商业网站建设费用
  • 建设旅游服务类网站的可行性报告连云制作企业网站
  • 广告网站建设流程wordpress用户组权限
  • 做o2o网站需要多少钱制作简历网站开发