类的继承-网络教育精品资源共享课-上海交通大学-上海交通大学继续.ppt

类的继承-网络教育精品资源共享课-上海交通大学-上海交通大学继续.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类的继承-网络教育精品资源共享课-上海交通大学-上海交通大学继续.ppt

第4章 面向对象编程方法 ;第4章 面向对象编程方法;4.3 类的继承、重载与多态; 4.3.1 继承;继承是面向对象编程的又一重要特征 继承基于这样的编程思想: 既可以在程序设计中最大限度利用已有的设计成果,又可以在此基础上使程序设计具有高度的灵活性,使已有的程序设计成果具有可扩充性 继承使得不同的类之间可以共享特性和操作,从而高效地重用代码,提高程序设计的效率 ;;;类的继承性是指一个类定义既可以具有其他类的数据成员、属性成员、方法成员等,也可以使其他类具有自己的数据成员、属性成员、方法成员等 在类的继承中 被继承的类叫基类或父类 继承的类叫派生类或子类;基类与派生类;在C#中,类的继承遵循以下规则:;2 定义派生类;定义派生类;(1) 派生类定义格式;以定义Student(学生)类为例;派生类定义如下: public class Student_1: Student { public byte score1,score2; public uint Total ( ) { return (uint) score1+(uint) score2; } public float Average ( ) { return (float) (score1+score2)/2; } };(2) 创建派生类对象; [例InheritFromStudent] 创建Windows应用程序 在程序中定义基类Student与派生类Student_1 单击“创建”按钮,创建并显示派生类对象的信息;private void button1_Click(object sender, System.EventArgs e) { Student_1 s1=new Student_1( ); // 声明派生类对象 s1.id=2005001;s1.name=张三;s1.sex=女; s1.age=21;s1.score1=99;s1.score2=88; label1.Text=s1.Show( )+\n总分:+s1.Total().ToString()+ 平均分:+s1.Average( ).ToString( ); };(3) protected修饰符的访问控制作用;按照下面要求修改InheritFromStudent为InheritFromStudent2 基类定义: public class Student // 基类定义 { protected string id; protected string name; protected string sex; protected byte age; } 派生类定义 public class Student_1: Student // 派生类定义 { private byte score1,score2; };由于将数据成员声明为protected或private后,类的数据成员不能再直接访问,所以应该添加修改设置数据成员的公共方法 基类数据成员设置方法 public void SetStudent(string idd,string namex,string sexx, byte agex) { id=idd; name=namex; sex=sexx; age=agex; } 派生类数据成员设置方法 public void SetStudent_1(byte scorex1,byte scorex2) { score1=scorex1; score2=scorex2; };private void button1_Click(object sender, System.EventArgs e) { Student_1 subS=new Student_1( ); subS.SetStudent(“2005001”,“张三”,“女”,21); // 设置派生类继承的基类数据成员值 subS.SetStudent_1(99,88); // 设置派生类自身数据成员值 label1.Text=subS.Show( )+\n总分:+subS.Total().ToString()+ 平均分:+subS.Average( ).ToString( ); } 输出结果: 学号:2005001 姓名:张三 性别:女 年龄:21 总分:187 平均分:93.5 //其中,第一行是派生类对象调用其继承的基类方法成员输出的结果,第二行为派生类调用其自身方法成员输出的结果;(4) 构造函数的调用;(5) 向基类构造函数传递参数;;向基类构造函数传递参数,必须通过派生类的构造

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档