C#中的抽象类与抽象方法

抽象类是指加了abstract字段修饰的类,其无法被实例化,但可以利用里氏替换原则作为容器去装载子类对象,抽象类里面可以额外地去写抽象方法。

抽象方法是指在方法前有abstract修饰的方法,此类方法仅能写在抽象类中,且不允许实现方法体,访问修饰须为public或protected。继承了抽象类的子类必须在其类内部通过override实现抽象方法的方法体。

cs 复制代码
namespace ConsoleApp11
{
    abstract class Fruits
    {
        public string name;

        abstract public void Bad();
    }

    class Apple : Fruits 
    {
        public override void Bad()
        {
            Console.WriteLine("苹果坏了");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Fruits f = new Apple();
            f.Bad();
        }
    }
}
相关推荐
点心的游戏开发世界4 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
2601_962071575 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
淡海水6 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
点心的游戏开发世界6 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
CS_Zero6 小时前
C语言sizeof是函数吗?
c语言·开发语言
-今昭-7 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
黑马程序员毕设9 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e10 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
公子小六10 小时前
基于.NET的Windows窗体编程之WinForms滑块与上下控件
windows·microsoft·c#·.net·winforms
问天_观心10 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github