1.字段(类中私有保存数据的变量,和java一样),属性(字段对外展示的代理变量,内置get,set方法,可以在get set方法中写逻辑),构造器(调用对象本省的其他构造器方式和java不同),析构器(在程序结束前最后自动执行的一个函数,一般用于数据清理释放资源,一般不太用,因为有gc回收器)。
测试类:
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { //Student student = new Student(23,"ssssss"); Student student = new Student(23); Console.WriteLine("id:{0} name:{1}", student.Id, student.Name); Console.ReadKey(); } } }
被调用的类
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApp1 { class Student { /// <summary> /// 构析函数:此函数是在程序结束的时候调用,一般用来清理数据释放内存,当然c#中也有gc但是一样不受管理, /// 所以如果想在程序结束后立即清理垃圾释放内存就可以在这儿清理。 /// </summary> ~Student(){ Console.WriteLine("在程序结束前最后自动调用的一个函数,主要用于垃圾清理"); } /// <summary> /// 带id的构造器,里面演示了此构造器调用当前对象的其他构造器的方法。 /// </summary> /// <param name="Id"></param> public Student(long Id) : this(Id, "小刚") { } /// <summary> /// 全参构造器 /// </summary> /// <param name="Id">id</param> /// <param name="Name">姓名</param> public Student(long Id, string Name) { this.Id = Id; this.Name = Name; } /// <summary> /// 空构造器 /// </summary> public Student() { } /// <summary> /// 字段:_id 类中最终保存数据的地方 /// 属性:Id 对外展现数据的名称,里面包含get,set属性,可以在get,set方法中添加自定义的代码 /// 调用示例: /// Student student = new Student(); /// student.Id = 22222; 赋值"set" /// long newId = student.Id; 取值"get" /// </summary> private long _id; public long Id { get => _id; set => _id = value; } /* * _name是字段名,Name是属性名:属性中包含get和set方法。 */ private string _name; public string Name { get { return _name; } set { if (value.Equals("小明")) { value = "娜可露露"; } _name = value; } } } }