Unity 3D游戏开发 - C#面向对象 | 面向对象基础之堆栈关系

对象赋值演示

  • 使用 Person 类创建一个 p1 对象,将 p1 对象赋值给 p2。
            //在 Person.cs 中创建一个打招呼的方法.
            public void Hello()
            {
                Console.WriteLine("我的名字是{0},年龄是{1},性别是{2},地址是{3}。", Name, Age, Gender, Address);
            }
    
    
                //在 Program.cs 中编写主程序.
                Person p1 = new Person("Shane", 1, Gender.Girl, "北京海淀");
                Person p2;
                p2 = p1;
                p1.Hello();  //我的名字是Shane,年龄是1,性别是Girl,地址是北京海淀。
                p2.Hello();  //我的名字是Shane,年龄是1,性别是Girl,地址是北京海淀。
    
                p2.Name = "ABC";
                p1.Hello();  //我的名字是ABC,年龄是1,性别是Girl,地址是北京海淀。
                p2.Hello();  //我的名字是ABC,年龄是1,性别是Girl,地址是北京海淀。
    
                Console.ReadKey();
  • 说明
    • 堆空间存储对象相关信息(字段,属性,方法等),栈空间存储地址。p1和p2任何一个对对象进行修改,对于另一个来说,对象也是被修改的了。
    • 对象这种 “数据” 也是引用类型。赋值的过程是在传递堆空间的引用地址,p1和p2指向了同一个堆空间地址,通过p1或p2修改了对象中的数据,两个对象都会同时发生改变。

对象的实例化过程

            Person p1 = new Person("Shane", 1, Gender.Girl, "北京海淀");
            Person p3 = new Person();
  • 我们现在实例化对象,有两种方式。
    • 调用有参的构造方法实例化对象。
    • 调用无参的构造方法实例化对象。
    • 我们在写类的时候,往往先写一个无参的构造方法,然后再写其他有参的构造方法,方便使用。
  • new 实例化关键字的作用
    • 在内存(堆空间)中开辟了一块空间;
    • 在开辟出来的空间中创建对象数据;
    • 调用类的构造方法进行对象的初始化。

面向对象编程

  • 我们游戏中的一切,都是对象。
  • 为了创建这些对象,我们需要实现针对不同的对象写出相应的类。在类中规划好这个对象的基本信息和功能作用。
  • 然后实例化对象,在对象与对象之间进行相应的交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值