抽象类运用

技术交流群:806091680 ! Chinar 欢迎你的加入
END
| 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
| Chinar —— 心分享、心创新! 助力快速理解 抽象类、抽象函数 为新手节省宝贵的时间,避免采坑! |
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
Abstract Class —— 抽象类
抽象类 —— 修饰词 : abstract
抽象父类中的 抽象函数 是不完整的,只有方法名和参数,并没有方法体
任何继承于抽象类的子类,都需要重 写父类(抽象类) 中的所有 抽象函数/抽象方法
下面我们举个栗子,来说明抽象类的具体用法
2
Abstract Parent Class —— 抽象父类
在VS控制台程序中,创建一个抽象类
为了便于理解, Chinar 已经用上了弱爆的拼音命名法,请高手给予理解与宽容
//无需任何引用,即可创建抽象类namespace 抽象类{ /// <summary> /// 抽象类 —— 修饰词:abstract /// </summary> public abstract class ChouXiang//弱爆的拼音命名法,便于新手理解 { /// <summary> /// 类中可以有 虚方法等 /// </summary> public virtual void Eat() //虚方法可以重写,也可以不重写,直接继承 { Console.WriteLine("抽象父类中:吃方法");//是有方法体的 } /// <summary> /// 指纹 —— 就是一个抽象函数。因为此函数,子类只要用到,必须要重写的。 /// 所以就有了抽象类,这种不完整的模板 —— 没有方法体 /// </summary> public abstract void FingerPrint(); public abstract void FingerPrint1(); public abstract void FingerPrint2(); public abstract void FingerPrint3(); public abstract void FingerPrint4(); public abstract void FingerPrint5(); }}3
Abstract Parent Class —— 抽象父类
在VS控制台程序中,创建一个抽象类
为了便于理解, Chinar 已经用上了弱爆的拼音命名法,请高手给予理解与宽容
using System;namespace 抽象类{ /// <summary> /// 人类:继承与抽象类 /// 当一个类,继承抽象类的时候,必须实现抽象函数 /// </summary> class People : ChouXiang { /// <summary> /// 可直接通过 VS implement missing members :实现丢失的成员,一键实现所有抽象函数的重写 /// 必须去重写父类中的抽象函数,具体函数体,根据需求实现 /// </summary> public override void FingerPrint() { Console.WriteLine("人类的指纹"); } public override void FingerPrint1() { throw new NotImplementedException(); } public override void FingerPrint2() { throw new NotImplementedException(); } public override void FingerPrint3() { throw new NotImplementedException(); } public override void FingerPrint4() { throw new NotImplementedException(); } public override void FingerPrint5() { throw new NotImplementedException(); } }}4
Abstract Parent Class —— 抽象父类
在VS控制台程序中,创建一个抽象类
为了便于理解, Chinar 已经用上了弱爆的拼音命名法,请高手给予理解与宽容
using System;namespace 抽象类{ /// <summary> /// 测试项目类:继承自人类People /// 由于PeoPle已经将抽象类ChouXiang中 抽象函数重写,所以下边可以直接调用PeoPle中的方法 /// </summary> class Program : People { static void Main(string[] args) { People p = new People(); p.FingerPrint(); ChouXiang c = new People(); //可以通过抽象类去声明对象,但不可以去构造.只能用其派生类构造 c.Eat(); //用派生类构造后,可调用ChouXiang类中函数 c.FingerPrint(); //由于对 FingerPrint 是重写了,所以父类中的方法是不存在的。 Program program = new Program(); program.FingerPrint(); Console.ReadLine(); } }}控制台输出:
人类的指纹抽象父类中:吃方法人类的指纹人类的指纹支持
May Be —— 搞开发,总有一天要做的事!
| 拥有自己的服务器,无需再找攻略! Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑! |
先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
1 —— 云服务器超全购买流程 (新手必备!)
2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
技术交流群:806091680 ! Chinar 欢迎你的加入
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
继续阅读与本文标签相同的文章
上一篇 :
C#语法-虚方法详解 Virtual 虚函数
下一篇 :
服务器的购买与网站的创建
-
Java与CPU缓存是如何亲密接触的!
2026-05-27栏目: 教程
-
「python」邮件脚本
2026-05-27栏目: 教程
-
H3C交换机自动上传配置文件的设置,job命令详解
2026-05-27栏目: 教程
-
兑吧与国美、屈臣氏多家实体企业达成合作, 创新运营、赋能线下
2026-05-27栏目: 教程
-
Cisco ISO 计划命令 kron实现配置定时自动备份
2026-05-27栏目: 教程
