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;
}
}
}
}