5.面向对象设计预案.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例题7. 复数的加减乘除运算符的重载(Sample5_7) class Class1 { static void Main(string[] args) { Complex x = new Complex(1.0, 2.0); Complex y = new Complex(3.0, 4.0); Complex z = new Complex(5.0, 7.0); x.Display(); //显示:1+(2)j y.Display(); //显示:3+(4)j z.Display(); //显示:5+(7)j z = -x; //等价于z=opeator-(x) z.Display(); //显示:-1+(-2)j z = x + y; //即z=opeator+(x,y) z.Display(); //显示:4+(6)j } } * 5.6 this关键字 每个类都可以实例化多个对象,例如定义Person类的两个对象: Person P1 = new Person(李四,30); Person P2 = new Person(张三,40); 因此P1.Display()应显示李四信息,P2.Display()应显示张三信息,但无论创建多少个对象,只有一个方法Display(),该方法是如何知道显示那个对象的信息的呢? * C#语言用引用变量this记录调用方法Display()的对象,当某个对象调用方法Display()时,this便引用该对象(记录该对象的地址)。 因此,不同的对象调用同一方法时,方法便根据this所引用的不同对象来确定应该引用哪一个对象的数据成员。 this是类中隐含的引用变量,它是被自动被赋值的,可以使用但不能被修改。例如: P1.Display(),this引用对象P1,显示李四信息。 P2.Display(),this引用对象P2,显示张三信息。 * 5.7 继承和多态 5.7.1 什么是继承 在例题2(Sample5_2)中,我们定义了一个描述个人情况的类Person,如果我们要定义一个Employee雇员类,如何去做? 当然可以从头开始定义雇员类Employee。但这样不能利用Person类中已定义的函数和数据。 较好的方法是,以Person类为基类,派生出一个雇员类。这个Employee类继承Person类的数据成员和函数成员。 即Person类的数据成员和函数成员成为Employee类的成员。 这个Employee类叫以Person类为基类的派生类,这是C#给我们提出的方法。C#用继承的方法,实现代码的重用。 * 3.7.2 派生类的声明格式 派生类的声明格式如下: 属性 类修饰符 class 派生类名:基类名 {类体} * 例题8. 雇员类Employee派生 Employee部分(Sample5_8) class Employee : Person // Person类是基类 { private string department; //部门,新增数据成员 private decimal salary; //薪金,新增数据成员 public Employee(string Name, int Age, string D, decimal S) : base(Name, Age) //注意base的第一种用法,根据参数调用指定基类构造函数 { department = D; salary = S; } public new void display() //覆盖基类Display()方法,注意new { base.display();//访问基类被覆盖的方法,base的第二种用法 Console.WriteLine(部门:{0} 薪金:{1}, department, salary); } } * 例题8. 雇员类Employee派生 主函数部分(Sample5_8) class Program { static void Main(string[] args) { Employee OneEmployee = new

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档