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

相关推荐
wdfk_prog1 分钟前
[Linux]学习笔记系列 -- [fs]filesystems
linux·笔记·学习
自由与自然5 分钟前
栅格布局常用用法
开发语言·前端·javascript
_codemonster9 分钟前
python易混淆知识点(十六)lambda表达式
开发语言·python
小梁努力敲代码9 分钟前
Java多线程--单例模式
java·开发语言
jackaso10 分钟前
react学习笔记
笔记·学习·react.js
Percep_gan10 分钟前
解决-bash: /usr/bin/yum: No such file or directory
开发语言·bash
像名字一样难取的昵称15 分钟前
Linux学习笔记:十八、Linux文件的压缩,解压缩一站式学习
linux·运维·笔记·学习·ubuntu·ssh
缺点内向19 分钟前
如何在 C# 中将 Word 文档转换为 EMF(增强型图元文件)
开发语言·c#·word·.net
老华带你飞21 分钟前
学生宿舍管理|基于java + vue学生宿舍管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
雍凉明月夜22 分钟前
深度学习网络笔记Ⅰ(CNN)
网络·笔记·深度学习·神经网络·学习·cnn