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

相关推荐
Liii4034 分钟前
Java集合详细讲解
java·开发语言
落羽的落羽10 分钟前
【C++】哈希扩展——位图和布隆过滤器的介绍与实现
linux·服务器·开发语言·c++·人工智能·算法·机器学习
speop13 分钟前
【datawhale组队学习】TASK01|课程导论:站在认知范式的临界点
人工智能·学习
fish_xk21 分钟前
类和对象(二)
开发语言·c++·算法
武藤一雄22 分钟前
.NET 中常见计时器大全
microsoft·微软·c#·.net·wpf·.netcore
lly20240624 分钟前
Python 列表(List)详解
开发语言
深蓝电商API31 分钟前
从 “能爬” 到 “稳爬”:Python 爬虫中级核心技术实战
开发语言·爬虫·python
麦麦鸡腿堡32 分钟前
Java_通过反射获取类的结构信息
java·开发语言
roman_日积跬步-终至千里39 分钟前
【人工智能原理(1)】要点总结:从搜索、学习到推理的智能之路
人工智能·学习
2201_757830871 小时前
tlias的部门的增删改查操作
java·开发语言