`
yyw84
  • 浏览: 79088 次
社区版块
存档分类
最新评论

《C# 设计模式》笔记: 第5章 继承

    博客分类:
  • OO
阅读更多
  今天有点郁闷.不怎么想说话,不怎么想做事,上CFAN回了几个帖子,发现大家都睡觉了,觉得没劲.又看起了C#设计模式.....


第一部分  C#面向对象程序设计

5 继承

 

5.1 构造函数

       在创建自己的类时,应当创建构造函数去做初始化工作,可以把参数传到类中,将类中的数据初始化为指定值。

 

5.3 使用继承

       C#中,使用继承能够从现有的类派生出新类。在新的派生类里,只需要给出新的方法或修改了的方法,其它方法由被继承的基类自动提供。

 

5.7 virtualoverride关键字

       如果基类中有一个方法,而想在派生类中覆盖它,应该把基类中的方法声明为virtual,它的含义是,让派生类里具有同样名字和参数标识的方法被调用,而不是调用基类中的方法。然后,在派生类中必须用override关键字声明该方法。

 

5.9 使用new 替换方法

       当不能把基类方法声明为virtual时,另一种取代基类中方法的方式是在派生类中声明方法时使用new关键字。这样做能有效地隐藏基类中同一名字(与参数无关)的方法。在这种情况下,不能在派生类调用基类中的同名方法,而且必须把所有的代码都放在替换方法中。

 

5.11 接口

       接口是一个声明,它规定了一个类要包含的带有指定参数的一系列专门方法。

       接口声明公有的签名,但不包含方法主体。

 

5.12 抽象类

       抽象类声明了一个或多个没有实现的方法。如果把一个方法声明为抽象的,也要把类声明为抽象的。

       关键字:abstract

 

5.13 接口和抽象类的比较

       创建一个接口就是创建了一个或多个方法的定义,在每个实现该接口的类中必须实现这些方法。系统不会生成任何默认的方法代码,必须自己完成实现过程。接口的优点是它提供了一种让一个类成为两个类的子类的方式:一个是继承,一个来自子接口,如果实现该接口的类漏掉了一个接口方法,编译器会产生错误。

       创建一个抽象类就是创建了这样一个基类,它可能有一个或多个完整的、可以工作的方法,但至少有一个方法未实现并声明为抽象的。不能实例化一个抽象类,而必须从它派生出类,这些类包含了抽象方法的实现过程。如果一个抽象类的所有方法在基类中都未实现,它在本质上就等同于一个接口,但限制条件是,一个类不能从它继承,也不能继承其它类层次结构,而使用接口则可以这样做。抽象类的作用是对派生类如何工作提供一个基类定义,允许程序员在不同的派生类中填充这些实现过程。

       另一种相关方式是创建带空方法的基类,这些空方法可以保证所有的派生类都能够编译,但是每个事件的默认操作是根本什么都不做。

分享到:
评论

相关推荐

    C#-学习笔记

    1. **面向对象编程**:C#是基于面向对象的原则设计的,包括类、对象、接口、继承、多态和封装等概念。了解这些概念并能灵活运用是成为熟练C#开发者的基础。 2. **泛型**:C#的泛型允许你创建类型安全的容器,这样...

    C#编程学习笔记_C#编程学习笔记_

    C#是一种由微软公司开发的面向对象的编程语言,它被设计用于构建各种类型的应用程序,包括桌面应用、Web应用以及分布式系统。在C#编程学习中,掌握以下几个核心知识点至关重要: 1. **基础语法**:C#的基础语法类似...

    C#编程笔记

    《C#编程笔记》是一本深入探讨C#编程语言的电子书,旨在帮助读者全面掌握C#的基础知识和高级特性,提升编程技能。C#,由微软公司开发,是.NET框架的核心语言,广泛应用于Windows应用开发、游戏开发、Web服务等各个...

    Leaining Hard C#学习笔记.pdf

    5. **设计模式**:学习常见的设计模式,如单例模式、工厂模式等,这些模式可以帮助解决软件设计中的常见问题。 ### 实践项目 理论学习之后,通过实际项目来加深理解和提高技能是非常必要的。建议尝试以下类型的...

    C#学习笔记精华,详细。

    理解这些概念是学习C#的第一步。 2. **类与对象**:C#是一种面向对象的语言,这意味着它基于类和对象的概念。学习如何定义类,创建对象,以及了解封装、继承和多态性等面向对象特性至关重要。 3. **命名空间**:...

    技术笔记,开发大全c#

    《技术笔记,开发大全c#》是一份集大成的C#学习资料,涵盖了C#语言的核心概念、高级特性以及实际开发中的应用。这份笔记无疑是作者深入研究C#后的心得结晶,也是开发者宝贵的参考资料。以下将从多个方面对这份笔记...

    C#入门经典(第三版)阅读记录

    《C#入门经典(第三版)》是一本广泛被初学者和有经验的开发者们推荐的C#编程书籍。此书深入浅出地介绍了C#语言的基础知识和高级特性,帮助读者快速掌握C#编程技能。以下是我从本书的学习笔记中提炼出的一些关键知识点...

    c#入门经典 第七版 英文版 非扫描版

    《C#入门经典》第七版是一本专门为初学者设计的C#编程教程,它以英文原版的形式呈现,非扫描版意味着读者可以方便地进行文本编辑和复制,这对于学习过程中的笔记整理和代码实践非常有利。该书是基于C# 6.0语言特性和...

    课堂笔记和代码

    11. **设计模式** - **单例模式**:保证一个类只有一个实例,并提供全局访问点。 - **工厂模式**:提供创建对象的接口,但不指定具体类。 - **观察者模式**:定义对象间的一对多依赖关系,当一个对象的状态发生...

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

    Java和.net的笔记

    "C#、[2].Net经典面试题目及答案+.doc"文档可能包含了C#语法、.NET框架、设计模式、面向服务架构(SOA)等相关面试问题及其解答,对于准备.NET相关面试非常有帮助。 至于"Java面试的32个要点.txt",这可能列出了...

    DotNet文本资料

    11. **设计模式**:介绍一些常见的软件设计模式,并在C#中应用。 12. **NuGet包管理**:如何使用NuGet来添加、管理和更新第三方库。 这些只是可能涵盖的部分内容,实际的“文本资料”可能还会根据作者的侧重点和...

    桌面学习助手

    9. **设计模式**:如单例模式用于控制类的实例化,工厂模式简化对象创建,MVC(模型-视图-控制器)模式有助于分离关注点。 10. **单元测试**:对于大型项目,单元测试可以确保每个模块的功能正确性,C#支持使用NUnit...

    NET技术与应用课件

    学习C#,你需要掌握类、接口、继承、多态等概念,以及如何使用 LINQ 进行数据查询,了解异步编程模型如async/await,还有最新的C#版本(如C# 9.0)引入的新特性。 2. **ASP.NET**: ASP.NET是用于构建Web应用程序的...

    03_面向对象.rar

    "day06总结.txt"可能会涵盖这些概念的应用实例,以及可能涉及的设计模式,如单例模式、工厂模式等。"03_面向对象"可能更深入地探讨了面向对象设计原则,如SOLID原则,或者特定的面向对象编程语言如Java、C#或Python...

    第二三四节课.zip

    5. **软件工程实践**:可能涉及到版本控制(如Git)、代码组织、设计模式、单元测试和持续集成/持续部署(CI/CD)。 其次,"第二三四节课"这个文件名可能是课程笔记、讲义或者源代码,这可能包含课程的具体教学内容...

    AULA22EST-TICOS

    9. **设计模式**:讲解常见的设计模式,如工厂模式、单例模式、观察者模式等,以提升代码的可维护性和可扩展性。 10. **并发与多线程**:在多核处理器环境下,理解并行编程和线程同步的概念,使用Thread、Task或...

    EJungay_Unit3:以利亚的Unit3 for MULT152

    3. **Documentation** 或 **Docs**:可能有课程笔记、教程、设计文档等。 4. **Tests** 或 **Examples**:包含单元测试用例或示例程序,用于验证代码功能或演示编程概念。 5. **Resources**:可能包含图片、音频、...

    Soft-Uni:软件大学课程

    3. 设计模式,如工厂模式、单例模式和观察者模式,以及何时使用它们。 4. SOLID原则,学习如何编写可维护、可扩展的代码。 **数据库:MS SQL和实体框架核心**部分涵盖数据库管理和关系型数据库系统: 1. SQL语言...

Global site tag (gtag.js) - Google Analytics