IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity学习之C#基础19——类和对象 -> 正文阅读

[游戏开发]Unity学习之C#基础19——类和对象

?1.什么是类和对象

?2.类的创建

?3.成员变量

?下面我们看一下C#的类声明和调用:

声明:

class Gun
    {
        private int gunNum;
        private string gunName;
        private int gunAmmoNum;

        private void print(object x)
        {
            Console.Write(x);
        }

        public int GunNum
        {         
            get { return this.gunNum; }
            set { this.gunNum = value; }
        }
        public string GunName
        {
            set { this.gunName = value; }
            get { return this.gunName; }
        }
        public int GunAmmoNum
        {
            set { this.gunAmmoNum = value; }
            get { return this.gunAmmoNum; }
        }

    }

调用:

static void Main(string[] args)
        {
            Gun M4=new Gun();
            M4.GunNum = 1;
            Console.Write(M4.GunNum);
        }

4.属性

上面的代码中,我们会看到一串set和get的方法。作用如下:

?5.构造函数

定义:

?特点:

?实例:

        public Gun()
        {
            Console.WriteLine("实例创建成功!");
        }

        public Gun(int gunNum, string gunName, int gunAmmoNum)
        {
            new Gun();
            this.GunNum = gunNum;
            this.GunName = gunName;//上面和这里的两个我没用用set方法,而是直接赋值
            this.GunAmmoNum = gunAmmoNum;//这里我用了属性,所以会调用set方法

        }

之前我们在创建一个类的时候,会使用new XXX();来实例化对象。

而当我们在构造类的时候,程序员不写构造方法时,程序会自带一个无参构造方法。

而我这里自己编写了一个无参的构造方法和一个有参的构造方法。(可以理解为方法的重载)

调用时也要根据情况而定。

假如我们有多个不同的重载构造函数,我们向都执行上面无参构造函数中的writeline语句,可以如上图加一个new Gun();同时也有另一种方法,如下:

        public Gun(string gunName):this()
        {
            this.GunName = gunName;
        }

这里我们就会调用Gun()的无参构造函数,这里涉及到后面继承等知识,暂时不用太深究。

*注:this的用法:从浅层的意义上讲,就是调用当前类的数据,这个数据包含我们成员变量和类的方法(包括构造方法)。

?所以上面的this()的括号中我们同样可以加入东西,来继承一些别的东西,比如:

        public Gun()
        {
            Console.WriteLine("实例创建成功!");
        }
        public Gun(string gunName):this()
        {
            this.GunName = gunName;
        }
        public Gun(string gunName,int gunAmmoNum) : this(gunName)
        {
            this.GunAmmoNum = gunAmmoNum;
        }

6.类结构

?7.自动属性

之前我们讲的属性的写法是包含两个方法的。一个是get,一个是set。那么我们能不能又设置字段且包含2个方法呢?那么我们引入自动属性的概念:

    class LoginCls
    {
        public string LoginId{ get;set; }
        public string LoginPassword { get; set; }
        public int LoginState { get; set; } 
    }

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章           查看所有文章
加:2021-10-06 12:33:36  更:2021-10-06 12:35:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 2:48:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码