- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 必修 中外历史纲要(上)第2课诸侯纷争与变法运动 课件(共24张PPT).pptx VIP
- 分析化学英文课件CH01 Introduction 0830.ppt VIP
- 【新】珠海市纳税百强企业名单(权威).docx VIP
- 某水厂反恐应急预案范本.pdf VIP
- 2025河南省红十字血液中心招聘合同制人员12人笔试备考题库及答案解析.docx VIP
- 道德经全文和译文.doc VIP
- 一种永磁同步电机旋变零位初始角自学习方法及系统.pdf VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- GB50068-2018建筑结构可靠性设计统一标准.doc VIP
- 化工单元过程及操作练习题(附答案).docx VIP
文档评论(0)