C#进阶学习--抽象方法(abstract)
一.定义
抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象
定义关键字: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)相关推荐
- PHP的抽象类和抽象方法 abstract
抽象类与抽象方法的概念与特点: 抽象类: 1.抽象类的定义方法 abstract class 类名称{}: 2.抽象类,不能被实例化,只能被子类继承. 3.抽象类,中可以有多个抽象方法. 抽象方法: ...
- 3D视觉从入门到进阶学习路线
01 什么是知识星球? 知识星球是一个高度活跃的社区平台,在这里你可以和相同研究方向的小伙伴一起探讨科研工作难题.交流最新领域进展.分享paper资料.发布高质量的求职就业信息,当然还可以侃侃而谈,吐 ...
- android java服务,Android进阶学习必会:Java Binder中的系统服务
前言 这个知识点是Android进阶学习必须掌握的知识点之一,也是高阶Android架构师经常问到的点.在这里分想给大家,希望对大家的工作和学习有所帮助.喜欢本文的记得点赞关注哦~ 在前面的Andro ...
- leetcode与python进阶学习总结
转自:leetcode与python进阶学习总结 l1是一个链表型,val是其属性,以下句子意义为如果l1不为空则取l1.val否则取0,节省代码空间,干净利落 x= l1.val if l1 els ...
- opencv进阶学习笔记3:像素运算和图像亮度对比度调节
基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版目录: python+opencv进阶版学习笔记目录(适合有一定基础) 像素运算 要求两张图大小,以及格式(np ...
- JQuery进阶学习
JQuery进阶学习的内容 1. 动画 2. 遍历 3. 事件绑定 4. 案例 5. 插 一. 动画 三种方式显示和隐 ...
- 单链表进阶学习 三段
单链表进阶学习 三段 从尾到头打印单链表: 思路: 实际意义就是逆序打印单链表: 利用栈的操作,先进后出,实现逆序打印效果. (注:不建议直接对单链表进行反转操作.这样会破坏链表本身的结构,在做题和练 ...
- 单链表进阶学习 二段
单链表进阶学习 二段 单链表的反转 思路: 定义一个新节点,reserveHead=new HeroNode(); 利用辅助变量cur遍历原来的链表,每遍历一个节点就将其取出,放在新建链表的最前端:( ...
- JavaSE进阶学习笔记-目录汇总(待完成)
声明:此博客来自于黑马程序员学习笔记,并非商用,仅仅是为了博主个人日后学习复习用,如有冒犯,请联系qq208820388立即删除博文,最后,来跟我一起喊黑马牛逼黑马牛逼黑马牛逼 JavaSE进阶学习笔 ...
最新文章
- 汇编语言系统调用过程
- 软件测试培训:高薪测试技术要掌握哪些
- java 二分查找
- Median断点法求区间-匹配-memset数组与vector
- ab flash player 8_FLASH 质子治疗的技术挑战
- C语言设计模式——命令模式
- linux的基础知识——多进程并发服务器
- python一些简单操作_python列表的基本操作有哪些
- 第五届大数据科学与工程国际会议(BDSE2021)如约而至!大咖云集,欢迎参加~
- 分布式锁没那么难,手把手教你实现 Redis 分布锁!|保姆级教程
- Steam 游戏服务器无法连接 steam 游戏无法启动 打开 microsoft store 错误代码 0x80131500
- 高性能diffpatch算法 -- 如何将微信Apk的官方增量包20.4M缩小到7.0M
- 3D目标检测/点云/遥感数据集汇总
- Pygame实现小球躲避实例代码
- 智能卡java_Java智能卡发送命令
- PVM and MPI 比较
- 从faces_glintasia的.rec数据集转换为jpg图片
- 【PMP】PMBOK 笔记 第7章 项目成本管理
- (17)雅思屠鸭第十七天:小作文完整攻略
- 有趣的灵魂千篇一律,电脑滑动关机,仅需2步
热门文章
- 楼梯式导航 html,jQuery仿京东商城楼梯式导航定位菜单|jquery网站楼层导航
- 数位DP - 带3的数
- 香港智远:港股光伏板块中报期有望获资金青睐
- kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)
- logrotate 使用方法
- 全屏DialogFragment
- 让webview支持下载
- 【论文解读】V2F-Net: Explicit Decomposition of Occluded Pedestrian Detection(遮挡行人的分解检测)
- mysql hql查询语句_使用Query进行HQL语句查询和SQL语句查询
- TaskScheduler原理解析