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

相关推荐
汤米粥36 分钟前
Python爬虫中Xpath用法之——normalize-space()
开发语言·python
科技道人1 小时前
记录 设置-显示大小和字体
开发语言·android设置·字体和显示大小
浮江雾1 小时前
Flutter第三节----Dart中的数据类型
android·开发语言·学习·flutter·入门·函数
weixin_422329311 小时前
AgentScope Java 项目入门 & Builder 深度解读
java·开发语言·人工智能
风和先行1 小时前
Android 数据库相关学习总结
android·数据库·学习
chh5631 小时前
C++--list
开发语言·数据结构·c++·学习·算法·list
杰佛史彦明12 小时前
ElasticSearch中的分词器详解
大数据·elasticsearch·c#
ctrl_v助手2 小时前
HALCON 学习笔记1
笔记·数码相机·学习·算法·计算机视觉
Edward111111112 小时前
一AI名词
java·开发语言·数据库·学习
aaPIXa6222 小时前
C++ 移动语义、完美转发与引用折叠详解
java·开发语言·c++