Unity-属性类似是有返回值方法的变量
属性类似是有返回值方法的变量
属性有一个优点,当类内部发生改变时,外部可以不受到任何影响。
需求:学生的年龄不是录入而是需要根据生日年份自动计算。输入学生的年龄,判断如果学生年龄大于18岁,则判定为成人。
//类的属性
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//属性类似是有返回值方法的变量
//属性有一个优点,当类内部发生改变时,外部可以不受到任何影响。
//需求:学生的年龄不是录入而是需要根据生日年份自动计算。输入学生的年龄,判断如果学生年龄大于18岁,则判定为成人。
public class Demo : MonoBehaviour
{
void Start()
{
Student student = new Student()
{
birthdayYear = 2000
};
Debug.Log("学生年龄 = " + student.age);
student.age = 20;
Debug.Log("学生是否成人 = " + student.isAdult);
}
}
public class Student : MonoBehaviour
{
public int birthdayYear;
public bool isAdult = false;
public int age
{
get
{
return DateTime.Now.Year - birthdayYear;
}
//当调用student.age = 20;赋值,会调用set里的代码
set
{
//value值可以赋值给别的变量,也可以直接修改,这都是允许的。
//value = 15;
if (value >= 18)
{
isAdult = true;
}
}
}
}