字段属性
class Apple{
private int weight;
public int Zhong{ //首字母必须大写
get { return weight; }
set { weight = value; }
}
}
class Program{
static void Main(string[] args){
Apple a1 = new Apple();
a1.Zhong = 300;
Console.WriteLine(a1.Zhong);
}
}
析构方法
和构造方法正好相反,构造方法用于初始化一个对象,析构方法常用清理一个对
象,往往干的是“善后”的事情。
~类名()
{
析构方法代码体;
}
- 析构方法不能有任何参数;
- 析构方法无返回值也无访问修饰符;
- 析构方法由系统自动调用;
- 析构方法可以不写。
堆栈关系
·对象的赋值演示
使用Person类创建一个p1对象,将p1对象赋值给p2。
对象这种“数据”也是引用类型。 赋值的过程是传递的堆空间中的引用地址,p1和p2指向了同一个堆空间地址,通过p1或p2修改了对象中的数据,两个对象都会同时发生改变的。
·对象的实例化
Person p1 = new Person(“Monkey”, 22, Gender.男, “山东”);
Person p3 = new Person();
我们现在实例化对象,有两种方式。
第一种就是调用有参的构造方法实例化对象。
第二种就是调用无参的构造方法实例化对象。
所以:我们在写类的时候,往往都先写一个无参的构造方法,然后在写其他的有参数的构造方法。
- 那么这个“new”实例化关键字到底做了什么??
①在内存(堆空间)中开辟了一块空间;
②在开辟出来的这个空间中创建对象数据;
③调用对象的构造方法进行对象的初始化。
·面向对象编程
简单点说,我们游戏中的一切,都是对象。主角是对象,Boss是对象,小怪也是对象。为了创建这些对象,我们需要实现针对不同的对象写出相应的类。在类中规划好这个对象的基本信息,和对象的功能作用。然后实例化对象,对象与对象之间进行相应的交互。