- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中级特性 面向对象技术的三个核心概念: – 封装:将数据和操作组合到一起,并决定哪些数据和操作对外是可见的。 – 继承:父类中的变量和行为,子类可以同样使用。本质是代码重用。 – 多态:由继承引出的一种机制,父类型的引用变量可以指向子类型的对象。 封装 封装把对象的所有组成部分组合在一起,有三个作用 – 隐藏类的实现细节:使用方法将类的数据隐藏起来。 – 迫使用户去使用一个界面去访问数据:定义程序如何引用对 象的数据,控制用户对类的修改和访问数据的程度。 – 使代码更好维护:类的内部实现改变,对外接口可以不变。 继承 继承提供了创建新类的一种方法,继承对开发者来说就是代码共享。 – 通过继承创建的子类是作为另一个类的扩充或修正所定义的一个类。 – 子类从超类(父类)中继承所有方法和变量。 – 子类和超类之间是特化与范化的关系。 子类的声明 语法:子类声明:父类{子类体} 子类可以使用父类的protected和public可见的变量和方法,就像这些变量和方法是自己定义的一样。 C# 中,如果类声明时没有声明父类,那么缺省为Object 类的子类。C#中的所有类都是System.Object类的子类。 C#中,子类只能继承一个父类。 派生类的建立需要注意: (1).派生类会继承基类除了构造函数和析构函数的所有成员。 (2).派生类调用构造函数时,会先调用基类的构造函数。默认调用没有参数的构造函数。 (3).用base关键字显式调用基类构造函数。 (3). 如果需要调用基类中的同名方法,应该使用”base.方法名”来调用。 class Car { public Car() { } protected void f() { Console.WriteLine(aaa); } } class TrashCar : Car { public TrashCar() { } void f() { Console.WriteLine(bbb); } public void f1() { base.f(); f(); } } class MyApp { static void Main() { TrashCar myCar = new TrashCar(); myCar.f1(); } } 例3-8 继承格式举例 public class parent //建立基类 { public parent(string str) //基类带参数构造函数 {Console.WriteLine(str);} public void showposition() //基类方法 {Console.WriteLine(基类的位置在(0,0));} } public class child:parent //派生子类 { public child():base(调用基类构造) //子类构造函数,调用基类构造函数 {Console.WriteLine(I am child);} public void showposition() { base.showposition(); //调用基类方法 Console.WriteLine(派生类的位置在(10,10)); } } 在Main()方法中执行下面的代码: parent prt=new parent(I am a parent); child chd= new child(); prt.showposition(); chd.showposition (); 输出结果为: I am a parent 调用基类构造 I am child 基类的位置在(0,0) 基类的位置在(0,0) 派生类的位置在(10,10) 例3-9:编写一个程序,计算球,圆锥,圆柱的表面积和体积 using System; namespace ConApp1 { public class Circle { protected double radius; public Circle(double r) {radius=r;} public double GetArea(){return Math.PI*radius*radius;} } public class Sphere:Circle//球体类 { public Sphere(double r):base(r){} public double GetArea(){return (4*base.GetArea());} public double GetVolumn()
您可能关注的文档
最近下载
- 五粮液校园招聘历年真题.pdf
- 新教材 人教A版高中数学选择性必修第一册全册各章节 知识点考点汇总及解题方法提炼.pdf VIP
- 人教版五年级上册数学第五单元《等式的性质》(课件).pptx VIP
- 常作印老师讲授《乡愁》. - 永博明教育.ppt VIP
- 2025至2030彩色食品胶带行业产业运行态势及投资规划深度研究报告.docx
- 复合翼无人机飞行控制方法研究.pdf VIP
- 硬件工程师培训课件.pptx VIP
- 中小学教师职称评审网上申报部分填写示例.docx VIP
- 7588.2 GB/T7588.2-2020 电梯制造与安装安全规范 第2部分:电梯部件的设计原则、计算和检验.pdf
- [精品]朝花夕拾-名著导读练习学习及答案较全.doc VIP
文档评论(0)