Unity之C#学习笔记(7):类的继承 Inheritance

本文介绍了C#中类的继承概念,探讨了何时使用继承以及如何判断继承关系。通过实例展示了如何创建基类和派生类,并在Unity中应用。同时,提到了构造函数的使用、方法的重写以及在Unity中脚本继承Monobehaviour的重要性。强调了继承的使用需谨慎,有时组合关系可能是更好的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前篇链接:Unity之C#学习笔记(6):数组 Array

在这节,我们来看C#中类的继承。

类是将对象抽象成变量和方法的集合。当我们定义一个新类B时,如果该类拥有之前定义的类A的全部特征,那么就可以将A作为基类,而将B作为A的子类(派生类),使B继承A全部的成员变量和方法,不论是public、protected还是private,大大减少了代码的重复。在派生类中,这些变量和方法可以直接使用。

但是注意,基类中的private变量是不能在派生类的方法中访问的,protected变量可以。

如何判断两个类A和B是否符合继承关系?问自己一个问题:B是A吗?例如男人和女人都是人,所以Man和Woman这两个类可以从Human类中派生。一个反例:有一个点Point类和一个圆Circle类,Circle显然有一个Point类的圆心,但Circle类可以从Point类中派生吗?不可以,因为圆不是一个点。实际上,Point类的圆心是Circle类中的一个成员,应该在Circle类中包含一个Point类的圆心变量。这种关系称为组合关系。

Tips:继承关系的使用需要谨慎。从设计模式角度来讲,继承可能使代码结构灵活性更差或出现隐蔽的bug。即使两个类符合“是"的关系,有时也要考虑使用组合的处理方法,即在B中包含一个A的成员变量。

C#中继承的语法和C++类似:

class 子类名 : 基类名
{
   

}

Tips:在Java中,继承要使用extends关键字而非冒号

在Unity中,我们创建一个新的脚本时默认生成的代码是这样的:

using System.Collections;
using System.Collections.Generic;
using<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值