C#学习系列之抽象类和抽象方法

C#学习系列之抽象类和抽象方法


啰嗦

学习基础


抽象方法

abstract public void Func();

在基类中如果使用abstract,不能有函数体,那么必须在派生类要用override进行重写。用虚方法可不用重写。因为没有函数体,必须重写。

  • 抽象成员:方法、属性、事件、索引。
  • 必须用abstract修饰符标记
  • 不能有实现代码块

抽象类

  • 抽象类的存在只有一个目的,被继承
  • 抽象类不能被实例化,用abstract修饰。
  • 抽象类可以包含抽象成员和普通成员,以及任意组合。
  • 抽象类的抽象成员在派生类中需要用override关键字实现。

使用

csharp 复制代码
    class pet
    {
        public pet(string name)
        {
            _name = name;
        }
        protected string _name;
	    abstract public void speak();//没有函数体
    }
    class dog:pet
    {
        public dog(string name):base(name)
        {

        }
	    override public void speak()//重写
        {
            Console.WriteLine("");
        }
    }
    class cat : pet
    {
	    override public void speak();//重写基类的虚方法
    }

总结

学习记录

https://www.imooc.com/video/14228

相关推荐
牛奔6 分钟前
Go语言中结构体转Map优雅实现
开发语言·后端·macos·golang·xcode
wujj_whut10 分钟前
【Conda实战】从0到1:虚拟环境创建、多Python版本管理与环境切换全指南
开发语言·python·conda
蜗牛^^O^11 分钟前
java中的JUC
java·开发语言
张心独酌12 分钟前
Rust新手练习案例库- rust-learning-example
开发语言·后端·rust
科技林总14 分钟前
【系统分析师】3.3 输入输出系统
学习
进阶小白猿24 分钟前
Java技术八股学习Day17
java·jvm·学习
whale fall27 分钟前
【雅思听力语料库5.1】
笔记·学习
扶苏-su31 分钟前
Java--转换流-InputStreamReader 和 OutputStreamWriter
java·开发语言
无限进步_1 小时前
【C语言&数据结构】二叉树遍历:从前序构建到中序输出
c语言·开发语言·数据结构·c++·算法·github·visual studio
yngsqq1 小时前
CAD倒圆角——CAD自带倒圆角 VS c#重写的倒圆角
c#