- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#程序设计基础入门教程(第2版);简述构造方法的特点?
简述面向对象的三大特征?
;;;;;;在类的继承中,需要注意一些问题,具体如下:
继承具有单一性,也就是说一个类只能有一个直接的父类,例如下面的语句是错误的。
多个类可以继承同一个父类,例如下面的语句是正确的。
; 在C#中,多层继承是可以的,即一个类的父类可以再去继承其他类,例如C类继承自B类,B类又继承自A类,此时C类也可称作A类的子类,下面的语句是正确的。
;在上一章中学习了构造方法的定义以及重载,了解到构造方法可以用于初始化类的静态成员和实例成员。在继承关系中,构造方法的执行过程会变得有些不一样,下面进行具体分析。
当一个类的对象被创建时,如果该类拥有父类的话,在调用自身构造方法的同时还会调用父类的构造方法,其具体执行过程如下图所示。
从图中可以看出,子类在实例化对象时,首先会调用父类的构造方法,然后再调用自身的构造方法。;子类在继承父类时可以对父类的成员进行扩展,如果子类中出现与父类同名的方法,那么在调用该方法时程序就不能明确该方法是属于父类还是子类,这时编译器就会提示使用new关键字隐藏基类方法。接下来通过一个案例来演示如何隐藏基类方法。; 程序编译出现警告,如下图所示。; 运行结果,如下图所示。;在实际开发过程中,某些方法的参数类型为引用类型,如果调用时传入的是数值类型,此时需要进行装箱操作。同样当一个方法的返回值类型为数值类型时,实际上该方法的返回值为引用类型,此时就需要进行拆箱操作。
简单来说,装箱就是将数值类型转换为引用类型,拆箱就是将引用类型转换为数值类型。
接下来通过一个案例来学习装箱与拆箱操作,具体如下所示。;4.1.4 装箱和拆箱; 运行结果,如下图所示。;;在C#中,使用sealed关键字修饰的类不可以被继承,也就是不能派生子类,这样的类通常被称为密封类。接下来通过一个简单的例子来演示sealed关键字的使用。;4.2.1 sealed关键字修饰类;4.2.1 sealed关键字修饰类;当一个类中的方法被sealed关键字修饰后,这个类的子类将不???重写该方法。接下来通过一个案例来演示被sealed关键字修饰的方法。;4.2.2 sealed关键字修饰方法;程序编译报错,如下图所示。;;在设计一个方法时,通常希望该方法具备一定的通用性。例如要实现一个动物叫的方法,由于每种动物的叫声是不同的,因此可以在方法中接收一个动物类型的参数,当传入猫类对象时就发出猫类的叫声,传入犬类对象时就发出犬类的叫声。此时,可以通过多态的方式来实现这种功能。所谓多态就是当调用同一个方法时,由于传入的参数类型不同而导致执行效果各异的现象。;在继承关系中,子类会自动继承父类中的方法,但有时父类的方法不能满足子类的需求,那么可以对父类的方法进行重写。当重写父类的方法时,要求子类的方法名、参数类型和参数个数必须与父类方法相同,而且父类方法必须使用virtual关键字修饰,子类方法必须使用override关键字修饰。
上一节案例中,Dog类从Animal类继承了Shout()方法,该方法在被调用时会打印“动物叫”。这明显不能描述一种具体动物的叫声,Dog类对象表示犬类,发出的叫声应该是汪汪。为了解决这个问题,可以在Dog类中重写父类Animal中的Shout()方法,具体代码如下所示。;4.3.1 重写父类方法;4.3.1 重写父类方法;运行结果如下图所示。;在C#中为了实现多态,允许使用一个父类类型的变量来引用一个子类对象,根据被引用子类对象特征的不同,得到不同的运行结果。而实现多态的方式有多种,接下来通过重写的方式来演示如何实现多态。;namespace Program08{
......
class Dog : Animal{
public override void Shout(){
Console.WriteLine(汪汪......);
}
}
class Program{
static void Main(string[] args){
Animal an1 = new Cat(); //创建Cat对象,使用Animal类型的变量an1引用
Animal an2 = new Dog(); //创建Dog对象,使用Animal类型的变量an2引用
animalShout(an1); //调用animalShout()方法,将an1作为参数传入
animalShout(an2); //调用a
您可能关注的文档
- Bootstrap响应式Web开发第2章 移动Web开发基础(上).pptx
- Bootstrap响应式Web开发第5章 Bootstrap栅格系统.pptx
- C#程序设计基础入门教程chapter01.pptx
- C#程序设计基础入门教程chapter02.pptx
- C#程序设计基础入门教程chapter03.pptx
- C#程序设计基础入门教程chapter05.pptx
- C#程序设计基础入门教程chapter06.pptx
- C#程序设计基础入门教程chapter07.pptx
- C#程序设计基础入门教程chapter08.pptx
- C#程序设计基础入门教程chapter09.pptx
- 中国国家标准 GB 14287.5-2025电气火灾监控系统 第5部分:测量热解粒子式电气火灾监控探测器.pdf
- 《GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存》.pdf
- GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 42706.4-2025电子元器件 半导体器件长期贮存 第4部分:贮存.pdf
- 中国国家标准 GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求.pdf
- 《GB/T 19436.2-2025机械电气安全 电敏保护设备 第2部分:使用有源光电保护装置(AOPDs)设备的特殊要求》.pdf
- 《GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备》.pdf
- GB 27898.4-2025固定消防给水设备 第4部分:消防气体顶压给水设备.pdf
- GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
- 中国国家标准 GB/T 31270.1-2025化学农药环境安全评价试验准则 第1部分:土壤代谢试验.pdf
最近下载
- 2025四川成都环境投资集团有限公司招聘笔试历年参考题库附带答案详解.docx
- 市政道路及雨污水工程施工组织设计.docx VIP
- 数列大题综合18种题型(讲练)-高考数学二轮复习.pdf VIP
- 10 北京故宫(课件)-浙美版初中美术七年级下册.pptx VIP
- DB54T 0342-2024 江达牦牛DB54T 0342-2024 江达牦牛.pdf VIP
- DB34_T 1267-2025 造林技术规程DB34_T 1267-2025 造林技术规程.docx VIP
- 某中学三年(2025年-2028年)发展规划.docx VIP
- 14449小学课程与教学设计-精讲.pdf VIP
- VD4真空断路器(New Design)(安装使用说明书).pdf
- DB22_T 3650-2024 柞蚕术语DB22_T 3650-2024 柞蚕术语.pdf VIP
原创力文档


文档评论(0)