Unity学习之基础脚本代码抽象类和继承总结

本文详细介绍了Unity中的抽象类概念,包括其定义、特征及使用示例,强调了抽象类在类型隐藏和全局变量角色中的应用。此外,还复习了继承的基本特性,如单继承、构造方法的调用以及方法的重写。最后,讨论了多态的概念,即不同对象调用相同方法产生不同结果的特性,通过实例展示了多态在实际编程中的运用。

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

欢迎来到unity学习unity培训

这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌


抽象类:



定义:


    不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例。


特征:


    1、用abstract修饰类。


    2、不能被实例化。


    3、类中方法可以是抽象的(必须带上abstract修饰类),也可以是非抽象的。


    4、抽象类中的抽象方法必须在子类中实现(方法必须用override修饰)。


    5、不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承


    6、抽象类可以包含抽象方法和抽象访问器。


    7、从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现


    8、抽象类是不完整的,它只能用作基类


    9、抽象类主要用来进行类型隐藏和充当全局变量的角色



   例题:


abstract class SwimAble

    {

        public abstract void swim();

    }

    class Fish:SwimAble

    {

        public override void swim()

        {

            Console.WriteLine("游泳");

        }

}



运行意义:


在面向对象方法中,抽象类主要用来进行类型隐藏。构造出一个固定的一组行为的抽象描述,但是这组行为却能够有任意个可能的具体实现方式。这个抽象描述就是 抽象类,而这一组任意个可能的具体实现则表现为所有可能的派生类。模块可以操作一个抽象体。由于模块依赖于一个固定的抽象体,因此它可以是不允许修改的; 同时,通过从这个抽象体派生,也可扩展此模块的行为功能。为了能够实现面向对象设计的一个最核心的原则OCP(Open-Closed Principle),抽象类是其中的关键所在



继承复习(特性):


     1、子类拥有父类的所有属性和方法(除构造方法)。


     2、子类只能访问父类用Public和Protected修饰的属性和方法。


     3、单继承(子类只能继承一个基类)。


     4、用sealed修饰的类不能被继承。


     5、子类调用父类的带参构造方法时用base,子类构造方法可以不带参


        E.g    父类 public Animal(int age){}

               子类 public Cat():base(10){}


     6、子类重写父类方法时,父类同名方法用vivtual修饰,子类同名方法用override修饰。


     7、子类方法访问父类同名方法时用base。


     8、创建子类对象时,先调用父类的构造方法,然后在调用子类的构造方法。



多态:



定义:


    不同的对象,调用相同的方法,产生不同的结果


E.g:  Animal(类名1)  a1(对象名1)=new Cat(类名2(继承Animal的类));

       Animal(类名1)  a1(对象名2)=new Cat(类名3(继承Animal的类));

           Animal(类名1)  a1(对象名3)=new Cat(类名3(继承Animal的类));


更多精彩:http://www.gopedu.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值