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

网站建设投标文件儿童玩具网站模板

网站建设投标文件,儿童玩具网站模板,wordpress推荐插件,wordpress微信qq登录界面​​​​​​​ 梳理了一些本人在学习C#时的一些生疏点,同时也加深自己的印象。 堆&栈 堆用来存储程序运行时产生的变量,当程序结束时释放; 栈用来存储程序运行时,调用方法产生的临时变量,方法运行完成后就会释放…

​​​​​​​

梳理了一些本人在学习C#时的一些生疏点,同时也加深自己的印象。

堆&栈

堆用来存储程序运行时产生的变量,当程序结束时释放;

栈用来存储程序运行时,调用方法产生的临时变量,方法运行完成后就会释放掉;

引用类型&值类型

值类型

 以下代码,在将a的值存储进b时,是将a里面的数值复制,放入b中。

//值类型
int a = 18;
int b = a;

原来a的值改变后,不影响b。

引用类型

引用类型有点不一样,观察下面的代码,将变量xiaoming赋值给xiaogang后,对小明的Name属性修改,我们查看输出结果,发现xiaogang的Name属性也被修改了。

namespace ConsoleApp1
{public class Program{static void Main(string[] args){//创建一个学生对象Student xiaoming = new();//小明的年龄是18xiaoming.Age = 18;//名字叫王小明xiaoming.Name = "王小明";//这时把小明的信息赋值给小刚Student xiaogang = xiaoming;//过了一年,小明长大了,叫‘王大明’xiaoming.Name = "王大明";//这个时候查看小刚的名字Console.Write(xiaogang.Name);//结果打印王大明}}public class Student{/// <summary>/// 学生的年龄/// </summary>public int Age;/// <summary>/// 学生的名字/// </summary>public string Name { get; set; }}
}

之所以叫引用类型,其实xiaoming和xiaogang都是引用同一块内存地址,

同样,如果我们对xiaogang的Name进行修改,再查看xiaoming的Name属性,也会变成对xiaogang的更改。

继承

观察下方代码,继承父类后,子类也将拥有父类的变量、方法。

前提是父类在创建时不是私有变量或方法。

    class Father{//需要声明public,子类才能调用public int BigHouse = 10;double Dollars = 1000000;string Skill = "搬砖,熬夜";}/// <summary>/// 继承父类,让父类变成共同财产/// </summary>class Son:Father{public void Ability(){Console.WriteLine($"我生下来就有{BigHouse}套房子");}}

接口

观察下方代码,首先声明了接口:回家方式   

每个人的回家方式是不同的,就要到各自的类中去实现,比如小明开车回家,小刚开武装直升机回家,等类似的接口

比如游戏中的怪物都会攻击,但不同的怪物有不同的攻击方式,就要各自去实现。

继承接口,在标准化编程中可以更稳妥,防止一些功能未实现导致的Bug。

    /// <summary>/// 声明回家的方式/// </summary>interface GoHome{/// <summary>/// 交通工具接口,但每个人的交通工具不一样/// </summary>/// <param name="Vehicle_Type"></param>public void Vehicle(string Vehicle_Type);}class xiaoming : GoHome{/// <summary>/// xiaoming的回家方式/// </summary>/// <param name="Vehicle_Type"></param>void GoHome.Vehicle(string Vehicle_Type){Console.WriteLine($"xiaoming今天开{Vehicle_Type},回家");}public int Age = 18;}class xiaogang : GoHome{/// <summary>/// xiaogang的回家方式/// </summary>/// <param name="Vehicle_Type"></param>void GoHome.Vehicle(string Vehicle_Type){Console.WriteLine("呼叫管家");Console.WriteLine($"管家开着xiaogang的私人{Vehicle_Type}接少爷回家");}}

多态

方法的重载

像我们使用的Console.Writeline之所以可以传入多种不同类型、不同长度的形参,是因为将同一方法写了几十种处理方式。

观察下方代码,发现买几本书,就对应一种方法,把一个方法可能碰到的情况都写出来,会让你的代码更灵活更健壮。

要注意,每个重载必须形参不同,如果写两个方法形参一样、方法体不一样,系统无法分辨你要使用哪一个。

    class Polymorphic{/// <summary>/// 买一本书/// </summary>/// <param name="book"></param>/// <returns></returns>public static List<string> GetBook(string book){List<string> list = new List<string>();list.Add(book);return list;}/// <summary>/// 买两本书/// </summary>/// <param name="book"></param>/// <param name="book1"></param>/// <returns></returns>public static List<string> GetBook(string book, string book1){List<string> list = new List<string>();list.Add(book);list.Add(book1);return list;}/// <summary>/// 买三本书/// </summary>/// <param name="book"></param>/// <param name="book1"></param>/// <param name="book2"></param>/// <returns></returns>public static List<string> GetBook(string book, string book1, string book2){List<string> list = new List<string>();list.Add(book);list.Add(book1);list.Add(book2);return list;}}

重写

可在原来写好的方法上,不修改原来方法,进行功能扩展。

    /// <summary>/// 画画/// </summary>class Drawing{//virtual 表明可被重写,重写可理解为在原来的基础上进行添砖加瓦。public virtual void DrawingLine(string name){Console.WriteLine(name);Console.WriteLine("-----------------");}}/// <summary>/// 必须继承才能重写,重写不影响原方法。/// </summary>class StudyDrawing : Drawing{/// <summary>/// 重写方法时需用 override 修饰,原方法需表明可被重写 virtual/// </summary>/// <param name="name"></param>public override void DrawingLine(string name){Console.WriteLine("正在画一只宠物");//重写过程中可调用旧方法base.DrawingLine(name);}}

泛型

其实我们在创建列表时,就是一个泛型应用。

在尖括号中填入数据类型,列表就只能存入指定的数据类型,有约束作用

List<int> list = new List<int>();

泛型方法、变量

可以不提前指定数据类型,但是在编写逻辑时会碰到各种问题,需要经验丰富才能写的下去,我尝试几次后就放弃了,暂时用不到,等有需求再深入研究。

有兴趣可以参考菜鸟教程

特性

不懂

反射

不懂

预处理器

不懂

委托

不懂

改变自己是神,改变别人是XXX!

http://www.yayakq.cn/news/355457/

相关文章:

  • 瓯北网站制作洱源名师工作室网站建设
  • 义乌网站开发建设企业网站e路护航官网下载
  • 商丘市住房和城乡建设厅网站站群系统哪个好用
  • 网站建设项目介绍桐梓网站建设
  • 如何通过建设一个网站赚钱动漫制作专业主要学什么
  • 如何建立一个网站及app山西做网站价格
  • 网页设计一个多少工资中山网站搜索优化
  • 最便宜手机网站建设wordpress 默认页面自适应
  • 专做女装拿货的网站外包app开发定制
  • 怎么建设一个自己的网站首页网站开发自学还是培训
  • 浙江省网站集约化建设江苏seo平台
  • 佛山手机网站建设二级域名免费解析
  • 网站建设后应该干什么北京做家教的的网站
  • 哪个网站可以领单做效果图网站开发需求评估
  • 2015网站建设源码开封建设企业网站公司
  • wordpress渗透湘潭关键词优化报价
  • 湖州做网站建设的公司哪家好深圳十大劳务派遣公司排名
  • 女装网站建设网站建设都有哪些方面
  • 资源型网站建设 需要多大硬盘中山网站制作服务
  • 上海建站网站的企业网站建设丿金手指下拉9
  • 免费在线网页代理英文网站排名优化
  • 网站制作唐山公司制作华为手机网站建设规划书
  • 制作网制作网站建设的公司简单网站建设运营
  • 教做面食的网站做网站一般字号要做多少
  • 做招聘的网站有哪些内容wordpress首页如何增加模块
  • 集群网站建设湖南兼职网站建设
  • 如何查询网站域名备案容易做的网站
  • 邯郸有设计网站的吗校园二级网站建设
  • 网站服务器怎么进wordpress集成环境
  • 深圳企业建站平台建网站市场