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");}}//gongjipublic void AttackPlayer(Player player){player.GetHit(weapen.atk);}}
day6 面向对象 类的定义访问 命名空间的声明 对象的定义创建 字段的定义创建访问 方法的创建调用相关推荐
- python中表示类的公有成员_Python面向对象 | 类的成员
一. 细分类的组成成员 之前咱们讲过类大致分两块区域,静态字段部分和方法部分. 每个区域详细划分又可以分为: classA: company= '阿里巴巴' #静态变量(静态字段) __tel = ' ...
- C#命名空间namespace中不能直接包含字段(变量)或方法(函数)之类的成员
C#命名空间即namespace中不能直接包含字段(变量)或方法(函数)之类的成员,须将字段或方法放到类class中,否则编译器会报错. C#命名空间中不能直接定义字段(变量): 将value字段(变 ...
- 【C++ 语言】面向对象 ( 类定义 | 限制头文件引用次数 | 构造方法 | 析构方法 )
文章目录 类的定义 ( 头文件引用次数控制 ) 类的实现 ( 构造函数 | 析构函数 ) CMake 编译配置 类测试 ( 构造析构调用测试 ) 类的定义 ( 头文件引用次数控制 ) 类定义 , 类一 ...
- Java之数组的定义格式,【默认值规则】,Java内存划分5大区,面向对象类的基本定义和对象的使用,private和this关键字,类的构造方法,标准类的组成部分。
目录 1.数组 动态初始化数组的格式: 默认值规则 静态初始化数组的格式: 静态方式的省略格式 注意: 2.java的内存划分 3.数组内存图 4.数组常见的问题 5.面向对象 (1)类和对象 (2) ...
- 20180724 (面向对象:类的命名空间和查询顺序丶组合)
一.类的名称空间 类名() 产生了一个含有对象指针的空间 先执行代码 从上向下执行 首先执行到class的时候,创建了一个Person类的空间,其中有静态变量和方法以及方法的内存地址 之后执行到p1 ...
- 十一Python之路,Day6 - 面向对象学习
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你 ...
- C++学习笔记:(一)面向对象 类与对象
目录 1.面向对象的概念 2.类与对象 2.1 类的定义格式 2.2 对象的定义与使用 2.3 构造函数和析构函数 2.4 内存的动态分配 2.5 对象数组和对象指针 2.6 函数参数的传递机制 2. ...
- C#面向对象类的简议
C#面向对象类的简议 类 就.net平台而言,最基本的编程结构就是类类型. 类是由字段数据(通常叫成员或者变量)和操作这些数据的成员(函数.属性.事件.方法)所构成的自定义类型. 字段数据用来表示类的 ...
- python面向对象类属性_python面向对象之类属性和类方法案例分析
本文实例讲述了python面向对象之类属性和类方法.分享给大家供大家参考,具体如下: 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例 使用面相对象开发, ...
最新文章
- Nature:揭示人大脑类器官为何缺乏正常人脑特有的细胞亚型和复杂回路
- 计算机三维作品说明,计算机三维技术
- SMARTFORM的使用BSIS会计凭证中的字段DMBTR(本币金额)报错
- 深度学习修炼(一)——从机器学习转向深度学习
- 13凯越门锁继电器在哪里_汽车中控保险丝在哪里_汽车一年保险费_保险频道
- SharePoint 2010 technology stack
- mysql5.6.31安装及配置
- oracle 列出asm磁盘,如何列出ASM磁盘组的所有磁盘
- qt解决中文乱码问题。总结一下
- 数字图像处理:名词解释
- 使用RedisTemplate执行lua脚本
- 移动端 1px 像素处理
- 查看电脑安装的Office是32位还是64位的
- 苹果手机上的计算机恢复出厂设置在哪里,苹果手机怎么还原出厂设置【详解】...
- laravel 实现队列功能
- 数据分析案例-航班准点分析
- html链接路径分为哪几种,什么是url地址?
- bolb layer
- KJ分析法(亲和图)的应用实例及知识分享
- 梯度下降与反向传播算法的原理与推导