C#程序设计案例教程 教学课件 作者 教学课件 第5章.pptVIP

C#程序设计案例教程 教学课件 作者 教学课件 第5章.ppt

  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文档。上传文档
查看更多
尚辅网 尚辅网 类的继承 public class Employee:Person { string id;//员工编号 string position; double basesalary;//员工基础工资 public string Id { get{returnid;} set{id=value;} } public string Position { get{returnposition;} set{position=value;} } public double Basesalary { get{returnbasesalary;} set{basesalary=value;} } 类的继承 classTest { static void Main(string [] args) { Person A = new Person(); //调用无参构造函数 A.PersonDisplay(); //显示姓名为“未知”、性别为“未知” Person B = new Person(王亮, 男);//有参构造函数 B.PersonDisplay(); //显示姓名和性别 Employee C = new Employee();//派生类 C.EmployeeDisplay();//显示姓名和性别为“未知”,职位为“新员工” Employee D = new Employee(张明, 男, 010, 工程师, 3500); D.EmployeeDisplay(); //显示员工的姓名、性别、编号、职位和工资 } } } 继承多态 在派生类中覆盖基类中的方法,以提供不同的实现过程 基类中方法声明为虚方法,在方法前加修饰virtual 派生类中改写基类中的同名方法,在方法前加override. 多态性 public class Apple:Fruit { public override void Display() { Console.WriteLine(这是派生类(Apple类)); } } public class Banana:Fruit { public override void Display() { Console.WriteLine(这是派生类(Banana类)); } } 多态性 class Program { staticvoidMain(string[]args) { Fruit[]fruits=newFruit[4]; fruits[0]=newOrange(); fruits[1]=newApple(); fruits[2]=newBanana(); fruits[3]=newFruit(); foreach(Fruitfruitinfruits) fruit.Display();//父类使用派生类的方法 } } } 抽象类和抽象方法 抽象方法的声明只能在抽象类中。 在抽象类的派生类中可以用override关键字覆盖抽象类的抽象方法,给出方法的具体实现。 抽象类的派生类也可以是抽象类,这时派生类也可以不实现或部分实现基类的抽象方法。 抽象类和抽象方法 abstract class A { public abstract void F1(); } abstract class B:A public void F2() { } } class C:A { public override void F1() {} } 抽象类实现多态 在抽象类中声明抽象方法,由不同的派生类实现抽象方法,各个派生类其实现方法是不同的。 这样由派生类生成的不同对象调用同一种方法,其结果不同,这就体现了多态性。 例: 定义一个抽象shape,包含抽象方法area(),没有实现过程 由shape派生出具体的图形类,如矩形、圆形、椭圆等,给出实际的area()方法的实现过程 这样在,不管是什么图形,只用area()方法就可得到该图形的面积。 通过抽象类实现多态 abstract class Shape//抽象基类,不可实例化 { public const double pi=3.14;//常量 public double x,y;//私有,可继承变量 public Shape()//默认构造函数 { x=y=0; } public Shape(double x,double y)//带参数构造函数 { this.x=x; this.y=y; } public abstract double Area();//抽象方法,无实现代码 } 通过抽象类实现多态 class Rectangle:Shape//矩形 { public Rectangle() :base() { } public

文档评论(0)

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

1亿VIP精品文档

相关文档