Unity小记(其三)

继承

using System.Collections;

using System.Collections.Generic;

using UnityEngine;



public class Paladin : Character

{

    public Paladin(string name):base(name){

       

    }

}

当一个继承自另一个类时,父类的成员变量向下汇入它的任何派生子类,形成类似金字塔形状。通过这个逻辑直接调用父类构造函数

Public ChildClass : ParentClass

{

       Public ChildClass():base()

        {

        }

}

Paladin Knight= new Paladin("Sir Athur");

      Knight.PrintStatsInfo();

   

可以通过调用子类直接调用父类的函数

组合

子类也可以继承父类里定义的变量

父类:

 public struct Weapon

    {

        public string name;

        public int damage;



        public Weapon(string name, int damage)

        {

            this.name = name;

            this.damage = damage;

        }

子类:

  public new Weapon Weapon;



    public Paladin(string name,Weapon Weapon):base(name)

    {

        this.Weapon=Weapon;

    }

不写new会warning但是问题不大,不是报错

Virtual和override

  • virtual 关键字用于在基类中声明一个方法,表示该方法可以在派生类中被重写。使用 virtual 关键字修饰的方法允许派生类对其进行更改或扩展。
  • override 关键字用于在派生类中重写基类中以 virtual 关键字声明的方法。通过使用 override 关键字,派生类可以提供对基类方法的新实现。

在父类里写:

 public virtual void PrintStatsInfo(){

        Debug.LogFormat("Hero:{0}-{1}Exp",name,exp);

    }

可以让子类重写父类的信息

在子类里写:

public override void PrintStatsInfo()

 {

     Debug.LogFormat("Hail {0}-take up your {1}", name, Weapon.name);

 }

对象是类的行为

在面向对象编程中,类是用来创建对象的蓝图或模板。一个类定义了对象的属性(数据)和方法(行为)。对象是类的实例化,它具体化了类定义的属性和方法。

行为是指对象可以执行的操作或具有的功能。类的行为是通过其方法来定义的。方法是类中的函数,它们封装了一组相关的操作。通过调用对象的方法,我们可以让对象执行相应的操作。

例如,考虑一个名为"Animal"的类,它具有属性(如名称、年龄)和方法(如移动、发出声音)。当我们创建一个"Animal"类的对象,比如一只猫,该对象就具有了类中定义的属性和方法。我们可以调用这个猫对象的移动方法,使其移动;或者调用发出声音的方法,使其发出声音。

通过类和对象的抽象和封装,我们可以将代码组织成更具可读性、可维护性和可扩展性的结构。类定义了对象的共同特征和行为,而对象具体化了类的定义并具备了类的行为。

   void Start()

{

   camTransform=this.GetComponent<Transform>();

   Debug.Log(camTransform.localPosition);

}

这段代码的作用是获取当前 GameObject 的 Transform 组件,并将其赋值给 camTransform 变量。然后,它通过调用 Debug.Log 方法来输出 camTransform.localPosition 属性的值。

localPosition 是 Transform 组件的一个属性,用于表示该对象相对于父对象的位置。如果该对象没有父对象,则 localPosition 就表示它在世界坐标系中的位置。

因此,该代码可以用来定位当前 GameObject 在场景中的位置。执行 Start 方法时,会将当前 GameObject 的 Transform 组件的 localPosition 输出到 Unity 控制台上,以供开发者查看。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值