电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

面向对象编程二继承封装和多态

  • 资源ID:489842364       资源大小:1.27MB        全文页数:22页
  • 资源格式: PPT        下载积分:35金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要35金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

面向对象编程二继承封装和多态

第五讲 面向对象编程(二)继承、封装和多态整理ppt4.3 4.3 继承、封装和多态继承、封装和多态n n4.3.1 继承n n4.3.2 封装n n4.3.3 多态n n4.3.4 this和base关键字整理ppt4.3.1 4.3.1 类的继承类的继承 继承的意思是一个类可以建立在另一个类的根底上,可以继承另一个类的属性和方法。我们把被继承的类叫做基类,通过继承产生的类叫做派生类也可以叫做父类和子类)。继承的概念来源与现实的生活,比方汽车、轮船、火车飞机等就是继承于交通工具这个类,而汽车类中又可以派生出新的类,比方轿车、面包车等等。引入继承可以让我们重用以前写过的代码,新编写的代码可以在原来的根底上继承而来。在C#中继承的方式就是定义派生类。在C#中,所有的类都是通过直接或间接地继承Object类得到的。整理ppt1.1.派生子类派生子类定义派生类的根本形式:class 派生类名字:基类名字 派生类的代码;public class Parent public Parent().定义一个构造函数 public void WriteItem().定义方法 public class Child:Parent public Child().派生类的构造函数 public static void Main()Child a=new Child();a.WriteItem();派生类使用基类的方法基类的构造函数先执行再执行派生类的构造函数。整理ppt2.2.域的继承、添加与隐藏域的继承、添加与隐藏1、域的继承:子类可以继承父类的所有成员。2、域的添加:在子类定义中加上新的域变量,就可以使得子类具有比父类多的属性。如:class Student:Person string school;int score;子类比父类多了两个成员:school、score。3、域的隐藏:子类重新定义一个从父类中继承的域变量。class A public int a;class B:A new public int a;使用new修饰符来隐藏父类的同名成员a。整理ppt3.3.方法的继承、添加与覆盖方法的继承、添加与覆盖1、方法的继承:子类可以继承父类的所有方法。2、方法的添加:在子类定义中加上新的方法,以针对子类实现相应的功能。比方可以在Student类中定义分数的判断方法。3、方法的覆盖:子类定义与父类同名的方法。(多态之一 1定义同名但参数列表不同的方法,称为方法的重载;2定义同名且参数列表也相同的方法,称为新增,这时应 该在同名方法前面用new修饰符;3定义同名且参数列表也相同的方法,并且父类中的方法用abstract/virtual进行修饰,子类中的方法用override进行了修饰,称为虚方法的覆盖。整理ppt方法重载举例方法重载举例class parent public int add(int x,int y)return(x+y);class child:parent public int add(int x,int y,int z)return(x+y+z);public static void Main()child c1=new child();c1.add(1,2,3);c1.add(4,5);分别使用了自己和父类的方法。整理ppt方法隐藏举例方法隐藏举例class parent public int add(int x,int y)return(x+y);class child:parent new public int add(int x,int y)return(x+y+10);public static void Main()child c1=new child();c1.add(4,5);使用了自己的方法。整理ppt虚方法覆盖举例虚方法覆盖举例Class one public void x()Console.WriteLine(“one_x);public virtual void y()Console.WriteLine(“one_y);Class two:one new public void x()/隐藏父类中的同名方法 Console.WriteLine(“two_x);public override void y()/重写同名方法 Console.WriteLine(“two_y);Class test public static void Main()two m2=new m2();one m1=m2;/m1指向m2实例 m1.x();m2.x();m1.y();m2.y();结果:one_x two_x two_y two_y整理ppt4.3.2 4.3.2 类的封装类的封装 类的封装改变了用户传统的使用数据和代码的方式,它将方法和数据包含在一起构成一个独立的单元,可以通过设定单元内各个成员的的特性来控制对成员的访问。比方将一个字段定义为private,就可以防止外界直接访问这个字段。封装一个类由两种做法:1为一个私有类定义公共读方法和写方法;2使用属性,用set和get访问器。整理pptpublic class Student private string studentname;public string getstudentname()return(studentname);public string setstudentname(string na)studentname=na;class App public static void Main()Student s1=new Student();s1.setstudentname(“zhanghua);Console.WriteLine(s1.getstudentname();不能使用语句s1.studentname=“zhanghua;整理ppt4.3.3 4.3.3 多态多态 多态指的是定义具有不同功能但相同名称的方法或属性的多个类的能力。C#中的多态可以由虚方法实现。对于非虚方法,其实现是不变的,无论由基类实例调用还是由派生类实例调用都是相同的;而虚方法的实现可以由派生类取代,取代的过程称为重写。重写可以取代从基类继承的虚方法,但原虚方法的可访问性不能改变,静态方法和非虚方法不能被重写。基类 public virtual void Show().派生类 public override void Show().整理ppt 虚方法重写举例:定义基类圆形Round,有一个成员半径,编写构造函数和计算面积的虚方法Area;再定义一个派生类球形Sphere,对虚方法Area进行重写。class Round public double r;public Round(double r)this.r=r;public virtual double Area()return(3.14*r*r);class Sphere:Round public Sphere(double r):base(r)public override double Area()return(3.14*r*r*r);class App static void Main()Sphere s=new Sphere(2);Console.WriteLine(s.Area();整理ppt1.this关键字关键字this关键字的作用是引用调用方法的当前实例,它可以从构造函数、实例方法和实例访问器中访问成员。用法一:使用this来访问域和方法void sayHello()Console.WriteLine(“My name is+name);与以下方法相同void sayHello()Console.WriteLine(“My name is+this.name);用法二:解决局部变量与域同名问题public Student(string name,string number)this.name=name;this.number=number;4.3.4 this4.3.4 this和和basebase关键字关键字整理pptthis关键字举例关键字举例using System;public class Student public string name;public string number;public double subsidy=180;public Student(string name,string number)this.name=name;this.number=number;public void ShowInfo()Console.WriteLine(“0n1,name,number;Console.WriteLine(“0,AdvSubsidy.Caculate(this);public class AdvSubsidy public static double Caculate(student E)return(1.5*(E.subsidy);public class AppMain public static void Main()Student s1=new Student(“zhanghua,“200454240);s1.ShowInfo();整理pptthisthis的本卷须知的本卷须知this指的是调用的“对象本身1通过this不仅可以引用该类中定义的域和方法,还可以引用该类的父类中定义的域和方法;2在static静态方法中,不能使用this关键字。整理ppt2.base2.base关键字:关键字:basebase指的是父类指的是父类1)明确指明父类的域和方法,例如,父类Person中有一个域为age,那么在子类Student中用age、this.age、base.age来访问age是完全一样的。2)当子类的方法隐藏或覆盖了父类的同名方法但又要调用父类的方法时,使用base关键字。3)想使用父类的构造方法。构造方法是不能继承的,但子类可以在构造方法中调用直接父类的构造方法,如 Student(string name,int age,string school):base(name,age)this.school=school;整理pptbase用法用法2举例举例using System;public class A public int a=10;public void m()a+;Console.WriteLine(a);class B:A new public int a=20;new public void m()a+;/base.m();Console.WriteLine(a);public static void Main()A x=new A();Console.WriteLine(x.a);/10 x.m();/11 B y=new B();Console.WriteLine(y.a);/20 y.m();/11 21 如此处直接使用base.m();那么最后的结果为12而不是21。整理ppt4.4 4.4 运算符重载运算符重载n n4.4.1 运算符重载根本概念n n4.4.2 单目运算符重载n n4.4.3 双目运算符重载整理ppt4.4.1 4.4.1 多态之二:运算符的重载多态之二:运算符的重载运算符可以进行根本数据类型之间的运算,想把自己定义的类型进行类似“之类的运算就要用到运算符重载对于、运算符完全可以提供对应的方法来完成,比方Decimal x,y;X+=y;可以写成 decimal.Add(x,y)x+=y;运算符重载的一般形式是 public static 返回类型 operator 运算符参数表 语句;整理pptusing System;using System;Class class1Class class1 public int x1,x2;public int x1,x2;public class1()publ

注意事项

本文(面向对象编程二继承封装和多态)为本站会员(资****亨)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.