一.定义

抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象

定义关键字:abstract

重写关键字:override

二.抽象类特点

1.抽象方法一定要写在抽象类中,

2.抽象方法没有方法体

3.抽象类可以包含非抽象的方法,如普通方法,虚方法等

4.继承的子类如果没实现父类中所有的抽象方法,那么这个子类也必须是抽象类

5.抽象类不能实例化,且不能被密封(即不可使用sealed修饰),但仍然可以具有构造方法

三.抽象类与接口的异同

相同点

1.都可以被继承

2. 都不能被实例化

3.都可以包含方法声明

4.子类必须实现未实现的方法

不同点

1.抽象类只能单一继承,接口可以实现多继承

2.抽象类中可以有普通方法,虚方法等,接口只能写规范,不可实现

3.抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件、和方法声明,不能包含字段。

四.实例

    public abstract class Person{public string Name { get; set; }public int age { set; get; }public void SayHello()//普通方法{Console.WriteLine("我是" + this.Name + ",我的年龄是" + this.age);}public virtual int getAge()//虚方法{return this.age;}public abstract string getName();}public interface IAction{void Run();string Eat(string food);}public class Student : Person, IAction{public override string getName(){return "学生姓名为" + this.Name;}public string Eat(string food){return "学生在吃" + food;}public void Run(){Console.WriteLine("学生在跑");}}

至此,抽象方法的总结结束…

最后,其实所有的数据测试可以在云服务器进行,大家可以看看腾讯云的相关服务,买来作为测试数据的服务器非常不错

C#进阶学习--抽象方法(abstract)相关推荐

  1. PHP的抽象类和抽象方法 abstract

    抽象类与抽象方法的概念与特点: 抽象类: 1.抽象类的定义方法 abstract class 类名称{}: 2.抽象类,不能被实例化,只能被子类继承. 3.抽象类,中可以有多个抽象方法. 抽象方法: ...

  2. 3D视觉从入门到进阶学习路线

    01 什么是知识星球? 知识星球是一个高度活跃的社区平台,在这里你可以和相同研究方向的小伙伴一起探讨科研工作难题.交流最新领域进展.分享paper资料.发布高质量的求职就业信息,当然还可以侃侃而谈,吐 ...

  3. android java服务,Android进阶学习必会:Java Binder中的系统服务

    前言 这个知识点是Android进阶学习必须掌握的知识点之一,也是高阶Android架构师经常问到的点.在这里分想给大家,希望对大家的工作和学习有所帮助.喜欢本文的记得点赞关注哦~ 在前面的Andro ...

  4. leetcode与python进阶学习总结

    转自:leetcode与python进阶学习总结 l1是一个链表型,val是其属性,以下句子意义为如果l1不为空则取l1.val否则取0,节省代码空间,干净利落 x= l1.val if l1 els ...

  5. opencv进阶学习笔记3:像素运算和图像亮度对比度调节

    基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版目录: python+opencv进阶版学习笔记目录(适合有一定基础) 像素运算 要求两张图大小,以及格式(np ...

  6. JQuery进阶学习

     JQuery进阶学习的内容         1. 动画         2. 遍历         3. 事件绑定         4. 案例         5. 插 一. 动画 三种方式显示和隐 ...

  7. 单链表进阶学习 三段

    单链表进阶学习 三段 从尾到头打印单链表: 思路: 实际意义就是逆序打印单链表: 利用栈的操作,先进后出,实现逆序打印效果. (注:不建议直接对单链表进行反转操作.这样会破坏链表本身的结构,在做题和练 ...

  8. 单链表进阶学习 二段

    单链表进阶学习 二段 单链表的反转 思路: 定义一个新节点,reserveHead=new HeroNode(); 利用辅助变量cur遍历原来的链表,每遍历一个节点就将其取出,放在新建链表的最前端:( ...

  9. JavaSE进阶学习笔记-目录汇总(待完成)

    声明:此博客来自于黑马程序员学习笔记,并非商用,仅仅是为了博主个人日后学习复习用,如有冒犯,请联系qq208820388立即删除博文,最后,来跟我一起喊黑马牛逼黑马牛逼黑马牛逼 JavaSE进阶学习笔 ...

最新文章

  1. 汇编语言系统调用过程
  2. 软件测试培训:高薪测试技术要掌握哪些
  3. java 二分查找
  4. Median断点法求区间-匹配-memset数组与vector
  5. ab flash player 8_FLASH 质子治疗的技术挑战
  6. C语言设计模式——命令模式
  7. linux的基础知识——多进程并发服务器
  8. python一些简单操作_python列表的基本操作有哪些
  9. 第五届大数据科学与工程国际会议(BDSE2021)如约而至!大咖云集,欢迎参加~
  10. 分布式锁没那么难,手把手教你实现 Redis 分布锁!|保姆级教程
  11. Steam 游戏服务器无法连接 steam 游戏无法启动 打开 microsoft store 错误代码 0x80131500
  12. 高性能diffpatch算法 -- 如何将微信Apk的官方增量包20.4M缩小到7.0M
  13. 3D目标检测/点云/遥感数据集汇总
  14. Pygame实现小球躲避实例代码
  15. 智能卡java_Java智能卡发送命令
  16. PVM and MPI 比较
  17. 从faces_glintasia的.rec数据集转换为jpg图片
  18. 【PMP】PMBOK 笔记 第7章 项目成本管理
  19. (17)雅思屠鸭第十七天:小作文完整攻略
  20. 有趣的灵魂千篇一律,电脑滑动关机,仅需2步

热门文章

  1. 楼梯式导航 html,jQuery仿京东商城楼梯式导航定位菜单|jquery网站楼层导航
  2. 数位DP - 带3的数
  3. 香港智远:港股光伏板块中报期有望获资金青睐
  4. kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)
  5. logrotate 使用方法
  6. 全屏DialogFragment
  7. 让webview支持下载
  8. 【论文解读】V2F-Net: Explicit Decomposition of Occluded Pedestrian Detection(遮挡行人的分解检测)
  9. mysql hql查询语句_使用Query进行HQL语句查询和SQL语句查询
  10. TaskScheduler原理解析