Skip to content

类中方法

unity-csharp-class-methods-system

类中的方法是什么

方法是类里的“行为成员”。 字段负责保存数据,方法负责使用、修改、计算这些数据。

c
public class Player
{
    private int hp = 100;

    public void TakeDamage(int damage)
    {
        hp -= damage;
    }
}

这里:

  • hp 是字段,保存状态
  • TakeDamage 是方法,修改状态

方法的基本结构

c
访问修饰符 返回类型 方法名(参数列表)
{
    方法体;
}

例子:

c
public int CalculateDamage(int attack, int defense)
{
    return Mathf.Max(attack - defense, 1);
}

拆开看:

  • public:谁能调用
  • int:返回一个整数
  • CalculateDamage:方法名
  • int attack, int defense:参数
  • return:把结果交回去

实例方法

大多数类中的方法都是实例方法,需要通过对象调用:

c
Player player = new Player();
player.TakeDamage(10);

实例方法可以访问这个对象自己的字段:

c
private int hp;

public void TakeDamage(int damage)
{
    hp -= damage;
}

static 方法

static 方法属于类本身,不属于某个对象:

c
public static int ClampDamage(int damage)
{
    return Mathf.Max(damage, 1);
}

调用:

c
DamageUtility.ClampDamage(10);

注意:static 方法不能直接访问普通实例字段,因为它不知道你指的是哪个对象。

Unity 里的类方法

Unity 脚本类通常继承 MonoBehaviour

c
public class PlayerController : MonoBehaviour
{
    private void Update()
    {
        ReadInput();
        Move();
        CheckAttack();
    }

    private void Move()
    {
    }
}

Unity 自动调用的方法:

c
Awake()
Start()
Update()
FixedUpdate()
OnCollisionEnter()

自己写的方法:

c
Move()
Jump()
TakeDamage()
CanMove()

推荐做法:让 Update() 做调度,把具体逻辑拆到小方法里。

新手口诀

字段存状态。 方法改状态。 实例方法找对象。 static 方法找类。 void 只做事。 有返回值的方法要 return。 Unity 生命周期方法由 Unity 自动调用。

参考链接:

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0