建设医院网站ppt,越秀区营销型网站建设,h5做的网站,游戏开发工程师招聘文章目录1 引入例子2 创建类2.1 类的访问属性2.2 英雄 特点类2.3 英雄信息打印3 静态变量static4 类 调用 类4.1 非静态 成员函数4.2 静态 成员函数1 引入例子
比如游戏中 描述英雄的角色#xff0c;
我们可以像下面这样#xff0c;给每一个英雄特点及拥有技能分别定义变量…
文章目录1 引入例子2 创建类2.1 类的访问属性2.2 英雄 特点类2.3 英雄信息打印3 静态变量static4 类 调用 类4.1 非静态 成员函数4.2 静态 成员函数1 引入例子
比如游戏中 描述英雄的角色
我们可以像下面这样给每一个英雄特点及拥有技能分别定义变量 看起来有多又杂还容易西出错
using System;
//类型
//关键字
class Program
{static void Main(){Console.WriteLine(月黑风高杀人夜);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(微风吹动着路边的小草);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(隐约在路的尽头有一个人影);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(走近一看这人叫); string name1 Console.ReadLine();Console.WriteLine(原来你就是 name1);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();string xingbie1 男;int nianling1 18;int shanghai1 100;int xueliang1 100;int shengao1 175;string jineng1 飞檐走壁; int jineng1shanghai 20;string jineng2 飞沙走右;int jineng2shanghai 30;Console.WriteLine(性别: xingbie1);Console.WriteLine(年龄: nianling1);Console.WriteLine(基础伤害: shanghai1);Console.WriteLine(基础血量: xueliang1);Console.WriteLine(身高: shengao1);Console.WriteLine(技能1: jineng1);Console.WriteLine(技能1伤害: jineng1shanghai);Console.WriteLine(技能2: jineng2);Console.WriteLine(技能2伤害: jineng2shanghai);Console.ReadKey();Console.WriteLine(此时远处传来一个女人的声音);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(走进一看原来是: );Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(请输入女侠的名称: );string name11 Console.ReadLine();Console.WriteLine(原来你就是 name11);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();string xingbie11 女;int nianling11 18;int shanghai11 100;int xueliang11 100;int shengao11 165;string jineng11 飞檐走壁2.0;int jineng11shanghai 40;string jineng22 飞沙走右2.0;int jineng22shanghai 60;Console.WriteLine(性别: xingbie11);Console.WriteLine(年龄: nianling11);Console.WriteLine(基础伤害: shanghai11);Console.WriteLine(基础血量: xueliang11);Console.WriteLine(身高: shengao11);Console.WriteLine(技能1: jineng11);Console.WriteLine(技能1伤害: jineng11shanghai);Console.WriteLine(技能2: jineng22);Console.WriteLine(技能2伤害: jineng22shanghai);Console.ReadKey();}
}2 创建类
创建一个Hero类
2.1 类的访问属性
class Hero
{string name;string xingbie;int nianling;int shanghai;int xueliang;int shengao;string jineng1;int jineng1shanghai;string jineng2;int jineng2shanghai;
}实例化 对象hr但是hr.访问不到 类变量因为 class默认是 private 如果像 C那样写 就会报错
2.2 英雄 特点类
class Hero
{public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;
}完整代码
using System;
//类型
//关键字
class Program
{static void Main(){Console.WriteLine(月黑风高杀人夜);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(微风吹动着路边的小草);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(隐约在路的尽头有一个人影);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(走近一看这人叫);//实例化Hero hr1 new Hero();hr1.name Console.ReadLine();Console.WriteLine(原来你就是 hr1.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr1.xingbie 男;hr1.nianling 18;hr1.shanghai 100;hr1.xueliang 100;hr1.shengao 175;hr1.jineng1 飞檐走壁;hr1.jineng1shanghai 20;hr1.jineng2 飞沙走右;hr1.jineng2shanghai 30;Console.WriteLine(性别: hr1.xingbie);Console.WriteLine(年龄: hr1.nianling);Console.WriteLine(基础伤害: hr1.shanghai);Console.WriteLine(基础血量: hr1.xueliang);Console.WriteLine(身高: hr1.shengao);Console.WriteLine(技能1: hr1.jineng1);Console.WriteLine(技能1伤害: hr1.jineng1shanghai);Console.WriteLine(技能2: hr1.jineng2);Console.WriteLine(技能2伤害: hr1.jineng2shanghai);Console.ReadKey();Console.WriteLine(此时远处传来一个女人的声音);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(走进一看原来是: );Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(请输入女侠的名称: );//实例化Hero hr2 new Hero();hr2.name Console.ReadLine();Console.WriteLine(原来你就是 hr2.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr2.xingbie 女;hr2.nianling 18;hr2.shanghai 100;hr2.xueliang 100;hr2.shengao 165;hr2.jineng1 飞檐走壁2.0;hr2.jineng1shanghai 40;hr2.jineng2 飞沙走右2.0;hr2.jineng2shanghai 60;Console.WriteLine(性别: hr2.xingbie);Console.WriteLine(年龄: hr2.nianling);Console.WriteLine(基础伤害: hr2.shanghai);Console.WriteLine(基础血量: hr2.xueliang);Console.WriteLine(身高: hr2.shengao);Console.WriteLine(技能1: hr2.jineng1);Console.WriteLine(技能1伤害: hr2.jineng1shanghai);Console.WriteLine(技能2: hr2.jineng2);Console.WriteLine(技能2伤害: hr2.jineng2shanghai);Console.ReadKey();}
}class Hero
{public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;
}2.3 英雄信息打印
将输出 打印信息封装到类里面
class Hero
{//成员变量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;//成员函数public void ShowInfo(){Console.WriteLine(性别: xingbie);Console.WriteLine(年龄: nianling);Console.WriteLine(基础伤害: shanghai);Console.WriteLine(基础血量: xueliang);Console.WriteLine(身高: shengao);Console.WriteLine(技能1: jineng1);Console.WriteLine(技能1伤害: jineng1shanghai);Console.WriteLine(技能2: jineng2);Console.WriteLine(技能2伤害: jineng2shanghai);}
}完整代码
using System;
//类型
//关键字
class Program
{static void Main(){Console.WriteLine(月黑风高杀人夜);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(微风吹动着路边的小草);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();////----------英雄一---------------------/////Console.WriteLine(隐约在路的尽头有一个人影);Console.WriteLine((请按任意键继续。。。)); Console.ReadKey();Console.WriteLine(走近一看这人叫);//实例化Hero hr1 new Hero();hr1.name Console.ReadLine();Console.WriteLine(原来你就是 hr1.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr1.xingbie 男;hr1.nianling 18;hr1.shanghai 100;hr1.xueliang 100;hr1.shengao 175;hr1.jineng1 飞檐走壁;hr1.jineng1shanghai 20;hr1.jineng2 飞沙走右;hr1.jineng2shanghai 30;//打印英雄信息hr1.ShowInfo();Console.ReadKey();////----------英雄二---------------------/////Console.WriteLine(此时远处传来一个女人的声音);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(走进一看原来是: );Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(请输入女侠的名称: );//实例化Hero hr2 new Hero();hr2.name Console.ReadLine();Console.WriteLine(原来你就是 hr2.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr2.xingbie 女;hr2.nianling 18;hr2.shanghai 100;hr2.xueliang 100;hr2.shengao 165;hr2.jineng1 飞檐走壁2.0;hr2.jineng1shanghai 40;hr2.jineng2 飞沙走右2.0;hr2.jineng2shanghai 60;//打印英雄信息hr2.ShowInfo();Console.ReadKey();}
}class Hero
{//成员变量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;//成员函数public void ShowInfo(){Console.WriteLine(性别: xingbie);Console.WriteLine(年龄: nianling);Console.WriteLine(基础伤害: shanghai);Console.WriteLine(基础血量: xueliang);Console.WriteLine(身高: shengao);Console.WriteLine(技能1: jineng1);Console.WriteLine(技能1伤害: jineng1shanghai);Console.WriteLine(技能2: jineng2);Console.WriteLine(技能2伤害: jineng2shanghai);}
}3 静态变量static
static变量可以直接被 Hero.调用而非静态变量需要实例化之后才可以调用
class Hero
{//static变量可以直接被 Hero.调用而不用实例化static public string str1 月黑风高杀人夜;static public string str2 请按任意键继续。。。;public string name;//static函数只能访问static变量static public void fun(){Console.WriteLine(str1);Console.WriteLine(str2);//Console.WriteLine(name);//非静态变量 报错}
} //static变量可以直接被 Hero.调用而不用实例化
using System;
//类型
//关键字
class Program
{static void Main(){Hero.str1 微风吹动着路边的小草;Hero.str2 隐约在路的尽头有一个人影;Hero.fun();}
}class Hero
{//static变量可以直接被 Hero.调用而不用实例化static public string str1 月黑风高杀人夜;static public string str2 请按任意键继续。。。;public string name;//static函数只能访问static变量static public void fun(){Console.WriteLine(str1);Console.WriteLine(str2);//Console.WriteLine(name);//非静态变量 报错}
}4 类 调用 类
ShowInfo可以单独写一个类Hero类 和 ShowInfo类 分开
将Hero类作为参数传给 ShowInfo类的成员函数以便于打印信息
class Hero
{//成员变量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;
}
4.1 非静态 成员函数
将Hero类作为参数传给 ShowInfo类的成员函数以便于打印信息
class ShowInfo
{
//将Hero类作为参数传给 ShowInfo类的成员函数以便于打印信息public void ShowHeroInfo(Hero hero){Console.WriteLine(性别: hero.xingbie);Console.WriteLine(年龄: hero.nianling);Console.WriteLine(基础伤害: hero.shanghai);Console.WriteLine(基础血量: hero.xueliang);Console.WriteLine(身高: hero.shengao);Console.WriteLine(技能1: hero.jineng1);Console.WriteLine(技能1伤害: hero.jineng1shanghai);Console.WriteLine(技能2: hero.jineng2);Console.WriteLine(技能2伤害: hero.jineng2shanghai);}
} //打印英雄信息ShowInfo show new ShowInfo();show.ShowHeroInfo(hr1);4.2 静态 成员函数
因为 Hero类涉及不同 英雄实例化不同对象需要使用非静态成员 而ShowInfo只是显示信息不需要区别对待故而可以用 静态成员函数直接调用
class ShowInfo
{//将Hero类作为参数传给 ShowInfo类的成员函数以便于打印信息public static void ShowHeroInfo(Hero hero){Console.WriteLine(性别: hero.xingbie);Console.WriteLine(年龄: hero.nianling);Console.WriteLine(基础伤害: hero.shanghai);Console.WriteLine(基础血量: hero.xueliang);Console.WriteLine(身高: hero.shengao);Console.WriteLine(技能1: hero.jineng1);Console.WriteLine(技能1伤害: hero.jineng1shanghai);Console.WriteLine(技能2: hero.jineng2);Console.WriteLine(技能2伤害: hero.jineng2shanghai);}
}
当 成员函数 ShowHeroInfo(Hero hero)改为 静态后调用处出错需要做相应修改 //打印英雄信息ShowInfo.ShowHeroInfo(hr1);完整代码
using System;
//类型
//关键字
class Program
{static void Main(){Console.WriteLine(月黑风高杀人夜);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(微风吹动着路边的小草);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();////----------英雄一---------------------/////Console.WriteLine(隐约在路的尽头有一个人影);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(走近一看这人叫);//实例化Hero hr1 new Hero();hr1.name Console.ReadLine();Console.WriteLine(原来你就是 hr1.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr1.xingbie 男;hr1.nianling 18;hr1.shanghai 100;hr1.xueliang 100;hr1.shengao 175;hr1.jineng1 飞檐走壁;hr1.jineng1shanghai 20;hr1.jineng2 飞沙走右;hr1.jineng2shanghai 30;//打印英雄信息ShowInfo.ShowHeroInfo(hr1);Console.ReadKey();////----------英雄二---------------------/////Console.WriteLine(此时远处传来一个女人的声音);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(走进一看原来是: );Console.WriteLine((请按任意键继续。。。));Console.ReadKey();Console.WriteLine(请输入女侠的名称: );//实例化Hero hr2 new Hero();hr2.name Console.ReadLine();Console.WriteLine(原来你就是 hr2.name);Console.WriteLine((请按任意键继续。。。));Console.ReadKey();hr2.xingbie 女;hr2.nianling 18;hr2.shanghai 100;hr2.xueliang 100;hr2.shengao 165;hr2.jineng1 飞檐走壁2.0;hr2.jineng1shanghai 40;hr2.jineng2 飞沙走右2.0;hr2.jineng2shanghai 60;//打印英雄信息ShowInfo.ShowHeroInfo(hr2);Console.ReadKey();}
}class Hero
{//成员变量public string name;public string xingbie;public int nianling;public int shanghai;public int xueliang;public int shengao;public string jineng1;public int jineng1shanghai;public string jineng2;public int jineng2shanghai;
}
class ShowInfo
{//将Hero类作为参数传给 ShowInfo类的成员函数以便于打印信息public static void ShowHeroInfo(Hero hero){Console.WriteLine(性别: hero.xingbie);Console.WriteLine(年龄: hero.nianling);Console.WriteLine(基础伤害: hero.shanghai);Console.WriteLine(基础血量: hero.xueliang);Console.WriteLine(身高: hero.shengao);Console.WriteLine(技能1: hero.jineng1);Console.WriteLine(技能1伤害: hero.jineng1shanghai);Console.WriteLine(技能2: hero.jineng2);Console.WriteLine(技能2伤害: hero.jineng2shanghai);}
}