第4篇 C#语言基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * class Employee { public virtual void EmpInfo() { Console.WriteLine(“此方法显示职员信息); } } class DervEmployee: Employee { public override void EmpInfo() { base.EmpInfo(); Console.WriteLine(“此方法重写 base 方法); } } static void Main(string[] args) { DervEmployee objDervEmployee = new DervEmployee(); objDervEmployee.EmpInfo(); Employee objEmployee = objDervEmployee; objEmployee.EmpInfo(); } sealed override 无论在派生类和最初声明虚拟成员的类之间已声明了多少个类,虚拟成员都将永远为虚拟成员。如果类 A 声明了一个虚拟成员,类 B 从 A 派生,类 C 从类 B 派生,则类 C 继承该虚拟成员,并且可以选择重写它,而不管类 B 是否为该成员声明了重写。 派生类可以通过将重写声明为密封的来停止虚拟继承。这需要在类成员声明中将sealed关键字放在 override 关键字的前面。 public class A{ public virtual void DoWork() { } } public class B : A{ public override void DoWork() { } } public class C : B{ public override void DoWork() { } //public sealed override void DoWork() { } } 抽象类和抽象方法 abstract class ClassOne { //类实现 } 访问修饰符 派生类的基类 不能实例化 abstract class Base { // 成员变量 int basevar; // 成员函数 abstract void base_fun1(parameters); // 无法实现 ……. } 抽象方法 class Derived : Base { // 成员变量 int derivedvars; // 成员函数 override void Base_fun1(parameters) { // 实际实现 ... } 抽象类 派生类 提供 重写方法 原型 必须重写 抽象类和抽象方法 abstract class MyAbs { public abstract void AbMethod(); } //派生类 class MyClass : MyAbs { public override void AbMethod() { Console.WriteLine(“在 MyClass 中实现的抽象方法); } } //派生自 MyClass 的子类 class SubMyClass:MyClass { public void General() { //未实现 AbMethod 抽象方法 Console.WriteLine(在 SubMyClass 中未实现的抽象方法 ); } } static void Main(string[] args) { SubMyClass objSubClass = new SubMyClass(); objSubClass.General(); } 接口与抽象类 相似性: 都可以包含由派生类继承的成员 都不能直接实例化 区别: 派生类只能继承一个基类,类可以使用任意多个接口 抽象类有抽象成员和非抽象成员,接口的成员必须都在使用接口的类上实现。 抽象类的成员可以是私有、保护、内部的,而接口成员只能是公共的; 总结 继承是获得现有类的属性和方法的过程 创建新类所根据的基础类称为基类或父类,新建的类则称为派生类或子类 base 关键字用于从派生类中访问基类成员 重写方法就是修改基类中方法的实现。virtual

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档