day6 面向对象 类的定义访问 命名空间的声明 对象的定义创建 字段的定义创建访问 方法的创建调用

day6
面向对象

面向过程是分析解决问题的步骤,然后把步骤实现
面向对象是把构成问题的事分解成各个对象,不是为了完成步骤,为了描述在整个

类是类别 是一种抽象的数据类型 是相同特征实体的抽象
类里共同行为或者特征二者存一也可

访问修饰符 class 类名{ 类成员 }

class person
{  
  public string name;
  public void Chat(){
   方法内容
   }
}

声明其他命名空间

命名空间.类名 变量=new 命名空间.类();
{
public string name;
///<summary>
///聊天
///</summary>
    public void chat(){
    console.writeline("");
}

对象、

对象是类的具象化

创建对象

类名 对象名

类名 变量名 =new 类名();//←new一个对象出来

字段

字段就是描述一个雷特征的变量

创建一个字段

访问修饰符 数据类型 变量;

class Person{
public string name;
}
//↑默认的访问修饰符是private,字段也可以赋初始值

访问字段

对象.字段名

person xiaoming =new person();
//↑ 无法点到私有字段

方法
封装有特定功能的代码段‘
用来描述类的行为

方法的创建

访问修饰符 返回值 方法名(参数列表)
{   代码块 return;}

方法的调用

返回值类型 变量名 = 对象名.方法名(实参列表);

无参无返回值的方法

public void introduceme(){
console.writeline($"我叫{this.name}");
console.WriteLine($“今年{age}岁”);
}

无参数有返回值的方法

public string getname()
{
    int grade = age-6;
   if(grade<0||grade>12){
        grade=0;
      }
    return name;
}

又參无返回值的方法

public void setnewhobby(string newHobby)
{
       console.WriteLine($"我有了新的爱好{newHobby}");
       hobby += newHobby;
}

有参有返回值

public string setNewFamuktMember(string newMember, MemberType memberType)
    {
        switch (memberType)
        {
            case memberType.Wife:
                Console.WriteLine("恭喜你有了新的家庭成员(妻子)"+newMember);
                familyMbers[2] = newMember;
            case memberType.Child:
                Console.WriteLine("恭喜你有了新的家庭成员(孩子)"+newMember);
                familyMember[2] = newMember;
                break;
            default:
                break;
        }
        return familyMemberds;
    }

this关键词

如果 想调用远的要用this
如果没有重名现象可以省略this

/*创建CF当中的玩家类Player,该类含有字段:名字,性别,血量,武器。
武器背包当中匕首,步枪,机枪,狙击枪。
玩家类具有以下方法:
(1)自我介绍Introduce方法
(2)换武器装备
(3)受到攻击掉血,当血量小于等于0的时候玩家死亡
(4)攻击其他玩家的方法
*/
    enum WeapenType
    {
        bihsou,
        laifu,
        jiqiang,
        juji
    }
    class Weapen
    {
        public string name;
        public int atk;
        public WeapenType type = WeapenType.jiqiang;
        public Weapen(string name,int atk,WeapenType type)
        {
            this.name = name;
            this.atk = atk;
            this.type = type;
        }
    }

    class Player
    {
        enum Sex
        {,}
        
       public string p_name;
        Sex sex;
        public int hp;
        Weapen weapen;
        static void introduce()
        {
            Console.WriteLine("请为自己的角色起一个名称");
            string name = Console.ReadLine();
            Console.WriteLine("我叫"+name);

        }
        public Player()
        {
            //添加武器
            weapens[0] = new Weapen("ak",250,WeapenType.jiqiang);
            weapens[1] = new Weapen("m416", 150, WeapenType.jiqiang);
            weapens[2] = new Weapen("awm", 850, WeapenType.juji);
            weapens[3] = new Weapen("ak", 250, WeapenType.jiqiang);

        }
        public Weapen[] weapens = new Weapen[5];
        public void EquipWeapon(Weapen weapen)
        {
            this.weapen = weapen;

        }
        //收到攻击
        public void GetHit(int damage)
        {
            hp -= damage;
            Console.WriteLine(p_name+"受到了"+damage+"点伤害");
            if (hp<=0)
            {
                Console.WriteLine("wamjiasiwang");
            }
        }
        //gongji
        public void AttackPlayer(Player player)
        {
            player.GetHit(weapen.atk);
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值