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

C# —— 构造函数

什么是构造函数

 构造函数: 一般在函数为类的属性初始值的作用,构造函数的名称类名

 在类里面定义构造函数 方法名和类名同名 不能带返回值类型 void/非void 不能有

// 创建一个构造函数

class People
{public string Name { get; set; }public int Age { get; set; }private bool isChengNian;// 在类里面定义构造函数 方法名和类名同名 不能带返回值类型 void/非void 不能有// 构造函数public People(){Console.WriteLine(this.Name+Age+isChengNian);}}
class HaiZei
{public string Name;public string Skill;public int Age;// 构造函数带参数public HaiZei(string name,string skill, int age){// 把参数赋值给属性Name = name;Skill = skill;Age = age;Console.WriteLine(Name + Skill + Age );}
}class Aircraft
{public string Sign { get; set; }public string Model { get; set; }public string Colour { get; set; }public string Subjection { get; set; }public double Speed { get; set; }public int AllCount { get; set; }public string Type { get; set; }public int Count { get; set; }public Aircraft(string name,string model,string colour,string subjection,double sp,int all){Sign = name;Model = model;Colour = colour;Subjection = subjection;Speed = sp;AllCount = all;if (all  >= 400){Type = "大";}else if (all >= 200 ){Type = "中";}else{Type = "小";}Random r = new Random();Count = r.Next(AllCount + 1);}

 创建People 对象  构造函数已经调用,虽然在此处给这个属性赋值了,但是这个构造函数里面 并没有把这个初始值赋值给属性,在构造函数里面舒勇属性的时候 值为默认值

 ArrayList a1 = new ArrayList();ArrayList a2 = new ArrayList(100);People p1 = new People() { Name = "张三",Age=10};Console.WriteLine(p1.Name);

 2为了解决在构造函数里面能够使用已经赋值过得属性,需要添加带参数的构造函数,通过参数传递给属性,
创建海贼对象 调用构造函数的时候把参数赋值给属性

    HaiZei lufei = new HaiZei("王路飞", "五档", 20) { Name="索隆",Skill="阿修罗",Age=20};HaiZei jide = new HaiZei("基德", "磨磁人", 20);Aircraft f1 = new Aircraft("波音", "747", "黄色", "南方航空", 100, 400);Console.WriteLine(f1.Type + f1.Count);Console.ReadLine();
}

相关文章:

  • 【Python高级编程】新手小白必须得学会的文本文件操作,资料资源均可分享!
  • mac苹果窗口辅助工具:Magnet for mac 2.14.0中文免激活版
  • 数据采集之二主一从,485总线共享器
  • Android SurfaceFlinger——注册监听调用流程(七)
  • 如何最简单的方式使用nodejs中的http-server发布轻量级的html网页
  • settings和toolchains.xml 区别用法配置
  • Android中球体碰撞代码分享-kotlin,入门版
  • 【数据结构与算法】树的存储,森林 详解
  • @PreAuthorize与@Secured注解的区别是什么?
  • 【Java】已解决java.net.HttpRetryException异常
  • html侧导航栏客服栏
  • 【Nprogress】页面跳转进度条
  • 广告联盟流量变现app开发
  • 搜索进入AI蓝海时代:谁在成为新玩家?
  • 小程序项目业务逻辑回忆1
  • hexo+github搭建个人博客
  • 10个最佳ES6特性 ES7与ES8的特性
  • iOS小技巧之UIImagePickerController实现头像选择
  • java8-模拟hadoop
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • PAT A1017 优先队列
  • tweak 支持第三方库
  • vuex 笔记整理
  • Xmanager 远程桌面 CentOS 7
  • 电商搜索引擎的架构设计和性能优化
  • 服务器之间,相同帐号,实现免密钥登录
  • 工程优化暨babel升级小记
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 携程小程序初体验
  • 异常机制详解
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 转载:[译] 内容加速黑科技趣谈
  • #if等命令的学习
  • #微信小程序(布局、渲染层基础知识)
  • %check_box% in rails :coditions={:has_many , :through}
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (南京观海微电子)——I3C协议介绍
  • (十八)Flink CEP 详解
  • (十六)视图变换 正交投影 透视投影
  • (转载)深入super,看Python如何解决钻石继承难题
  • (状压dp)uva 10817 Headmaster's Headache
  • **PHP分步表单提交思路(分页表单提交)
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .NET Framework杂记
  • .net操作Excel出错解决
  • ?
  • @Mapper作用
  • @modelattribute注解用postman测试怎么传参_接口测试之问题挖掘
  • [Android Pro] Notification的使用
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [C#小技巧]如何捕捉上升沿和下降沿