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

相关推荐
aloha_7891 分钟前
agent智能体学习(尚硅谷,小智医疗)
人工智能·spring boot·python·学习·java-ee
qualifying5 分钟前
JavaEE——多线程(4)
java·开发语言·java-ee
科技林总1 小时前
2.2 图论应用
学习
guygg881 小时前
两轮车MATLAB仿真程序的实现方法
开发语言·matlab
陌上明苏1 小时前
.NET学习-依赖注入、配置系统、日志系统
学习
知识分享小能手2 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的Shell编程详细知识点(含案例代码)(17)
linux·学习·ubuntu
yugi9878382 小时前
异构网络下信道环境建模方法及应用
开发语言·网络
大山老树2 小时前
行动教练学习笔记
笔记·学习
小北方城市网2 小时前
第 11 课:Python 全栈项目进阶与职业发展指南|从项目到职场的无缝衔接(课程终章・进阶篇)
大数据·开发语言·人工智能·python·数据库架构·geo
Thetimezipsby2 小时前
Go(GoLang)语言基础、知识速查
开发语言·后端·golang