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

相关推荐
wsjsf2 分钟前
智能代码审查助手的搭建
java·学习·ai编程
xuhaoyu_cpp_java9 分钟前
MyBatis学习(二)
java·经验分享·笔记·学习·mybatis
我是发哥哈13 分钟前
主流AI视频生成方案商用化能力横向评测
大数据·人工智能·学习·机器学习·chatgpt·音视频
csbysj202016 分钟前
Markdown 段落格式
开发语言
楼田莉子19 分钟前
CMake学习:CMake语法
c++·后端·学习·软件构建
无限进步_24 分钟前
C++ 继承机制完全解析:从基础原理到菱形继承问题
java·开发语言·数据结构·c++·vscode·后端·算法
nashane24 分钟前
HarmonyOS 6学习:加密一致性与安全存储——AES GCM排查与SaveButton实践
学习·安全·harmonyos·harmony app
leo__52040 分钟前
基于时延的麦克风声源定位 - C实现
c语言·开发语言·算法
周末也要写八哥41 分钟前
编程初学者学习:句柄(二)
学习
jf加菲猫44 分钟前
第15章 文件和目录
开发语言·c++·qt·ui