网站大量收购闲置独家精品文档,联系QQ:2885784924

讲稿文字规范 - 网络教育精品资源共享课-上海交通大学_18106.ppt

讲稿文字规范 - 网络教育精品资源共享课-上海交通大学_18106.ppt

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

应用软件开发(C#) 第4章 面向对象编程方法 应用软件开发(C#) 第1章 C#程序设计基础 第4章 面向对象编程方法 王德俊 上海交通大学继续教育学院 第4章 面向对象编程方法 4.1一个简单的程序 4.2 类和对象 4.3 类的继承、重载与多态 4.4 运算符的重载 4.5 接口及其实现 4.6 方法的委托 4.7 常用的几个类 4.8 命名空间 4.4 运算符的重载 4.4.1 一元运算符重载 4.4.2 二元运算符重载 4.4.3 类型转换运算符重载 4.4 运算符的重载 4.4.1 一元运算符重载 可以重载的一元运算符包括:+(取正)、-(取负)、!、~、++、--、true和false。 一元运算符重载的格式如下: 返回类型 operator 运算符(类名 对象形参) { //实现重载的语句 } 其中,operator是运算符重载的关键字。 4.4 运算符的重载 4.4.1 一元运算符重载 class Complex //虚数类 { private double RP; //实部 private double IP; //虚部 public Complex() { RP = IP = 0; } public Complex(double r, double i) { RP = r; IP = i; } public static Complex operator -(Complex c) //一元运算符重载 { Complex c2 = new Complex(); c2.RP = -c.RP; c2.IP = -c.IP; return c2; } public void Show() //输出虚数 { Console.WriteLine({0} + {1}*i, RP, IP); } } 对一元运算符“-”进行了重载,重载后的功能是:取给定的虚数相反数(虚数的实部和虚部分别变为原来的相反数),并以新的虚数返回 用下列代码对该一元运算符的重载效果进行检验: Complex c = new Complex(1,2); Complex c2; c2 = -c; //调用重载的运算符 c.Show(); c2.Show(); 输出结果如下: 1 + 2*i -1 + -2*i 4.4 运算符的重载 4.4.2 二元运算符重载 可以重载的二元运算符包括:+(加法)、-(减法)、*、/、%、、|、^、、、==、!=、、、=、=。 二元运算符重载的格式如下: 返回类型 operator 运算符(类名 对象形参1, 类名 对象形参2) { //实现重载的语句 } 4.4 运算符的重载 4.4.2 二元运算符重载 例如,在虚数类Complex中添加二元运算“+”(加法)的重载方法,其功能是将给定的两个虚数相加后形成新的虚数并返回: public static Complex operator +(Complex c1, Complex c2) //加号+重载 { Complex c3 = new Complex(); c3.RP = c1.RP + c2.RP; c3.IP = c1.IP + c2.IP; return c3; } 4.4 运算符的重载 4.4.3 类型转换运算符重载 在C#中,类型转换运算符重载的格式如下: public static implicit/explicit operator T(S 参数) { //实现重载的语句 } implicit:表示隐式转换,后者表示显式转换,由系统自动完成,在这种转换中不应该出现异常或丢失信息的情况 explicit:如果转换时可能出现异常,就需要使用显式转换。 4.4 运算符的重载 4.4.3 类型转换运算符重载 下列代码重载了从string类型到Complex类的隐式转换运算: public static implicit operator Complex(string s) { s = s.Trim().TrimEnd(i); s = s.Trim().TrimEnd(*); string[] digits = s.Split(+, -); Complex c; c = new Complex(Convert.ToDouble(digits[0]), Convert.ToDouble(digits[1])); return c; } 重载了这种转换运算符后,我们就可以进行类似下面语句的赋值: Co

文档评论(0)

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

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

1亿VIP精品文档

相关文档